Classes | Math

# Integer : SimpleNumber : Number : Magnitude : Object

Integer number
Source: Integer.sc

## Description

A 32 bit integer. Integer inherits most of its behaviour from its superclass.

NOTE: A 32 bit signed integer can represent values in the range -2147483648 to 2147483647. Adding up further returns in a wrapped result, so that and 2147483647+1= -2147483648. For a larger range, one can use Float, which is 64 bit and supports many (but not all) numerical methods that int does.

## Class Methods

### Inherited class methods

## Instance Methods

### Iteration

### .do(function)

Executes function for all integers from zero to this minus one.

#### Arguments:

function | a Function which is passed two arguments, both of which are the same integer from zero to this minus one. The reason two arguments are passed is for symmetry with the implementations of do in Collection.

### .reverseDo(function)

Executes function for all integers from this minus one to zero.

### .for(endval, function)

Executes function for all integers from this to endval, inclusive.

#### Arguments:

endval | an Integer.
function | a Function which is passed two arguments, the first which is an integer from this to endval, and the second which is a number from zero to the number of iterations minus one.

### .forBy(endval, stepval, function)

Executes function for all integers from this to endval, inclusive, stepping each time by stepval.

#### Arguments:

endval | an Integer.
stepval | an Integer.
function | a Function which is passed two arguments, the first which is an integer from this to endval, and the second which is a number from zero to the number of iterations minus one.

### .collect(function)

#### Returns:

an Array of this size filled by objects generated from evaluating the function.

### .collectAs(function, class)

#### Returns:

a Collection of class of this size filled by objects generated from evaluating the function.

### .to(hi, step: 1)

#### Returns:

an Interval from this to hi.

### .geom(start, grow)

#### Returns:

an array with a geometric series of this size from start.

### .fib(a: 0, b: 1)

#### Returns:

an array with a fibonacci series of this size beginning with a and b.

### .factors

#### Returns:

the prime factors as array.

### .factorial

#### Returns:

the factorial of this.

### Random Numbers

See also: Randomness

### .xrand(exclude: 0)

#### Arguments:

exclude | an Integer.

#### Returns:

a random value from zero to this, excluding the value exclude.

### .xrand2(exclude: 0)

#### Arguments:

exclude | an Integer.

#### Returns:

a random value from this.neg to this, excluding the value exclude.

### Conversion

### .asAscii

#### Returns:

a Char which has the ASCII value of the receiver.

### .asDigit

#### Returns:

a Char which represents the receiver as an ASCII digit.

#### Discussion:

For example `5.asDigit` returns `$5`.

### .asBinaryDigits(numDigits: 8)

#### Returns:

an array with the binary digits (integer 0 or 1).

### .asDigits(base: 10, numDigits)

#### Returns:

an array with the n-ary digits.

#### Discussion:

See also the complementary method SequenceableCollection: -convertDigits.

    2007.asDigits;
    2007.asDigits(2);

### .asBinaryString(width: 8)

#### Returns:

a string with the binary digits (0 or 1).

### .asHexString(width: 8)

#### Returns:

a string with the hexadecimal digits (integer 0 to F).

### .asIPString

#### Returns:

a string in IP format.

### .degreeToKey(scale, stepsPerOctave: 12)

Interpret this as index into a scale with a given number of steps per ocatve.

#### Discussion:

    2.degreeToKey([0, 2, 5, 7, 11]);

### .grayCode

#### Returns:

the gray code for the number.

#### Discussion:

    2.grayCode

### Binary Representation

### .setBit(bitNumber, bool: true)

set nth bit to zero (bool = false) or one (bool = true)

### .leadingZeroes

`{ _CLZ }`

### .trailingZeroes

`{ _CTZ }`

### .numBits

#### Returns:

number of required bits

### Properties

### .even

#### Returns:

true if dividable by 2 with no rest

### .odd

#### Returns:

true if not dividable by 2 with no rest

### Powers Of Two

### .nextPowerOfTwo

#### Returns:

the next power of two greater than or equal to the receiver.

#### Discussion:

    13.nextPowerOfTwo.postln;
    64.nextPowerOfTwo.postln;

### .isPowerOfTwo

#### Returns:

the whether the receiver is a power of two.

#### Discussion:

    13.isPowerOfTwo.postln;
    64.isPowerOfTwo.postln;

### Prime Numbers

### .nthPrime

#### Returns:

the nth prime number. The receiver must be from 0 to 6541.

#### Discussion:

    [0,1,2,3,4,5].collect({ arg i; i.nthPrime; }).postln;

### .prevPrime

#### Returns:

the next prime less than or equal to the receiver up to 65521.

#### Discussion:

    25.prevPrime.postln;

### .nextPrime

#### Returns:

the next prime less than or equal to the receiver up to 65521.

#### Discussion:

    25.nextPrime.postln;

### .isPrime

#### Returns:

whether the receiver is prime.

#### Discussion:

    25.isPrime.postln;
    13.isPrime.postln;

### .indexOfPrime

#### Returns:

the index of a prime number less than or equal to the receiver up to 65521. If the receiver is not a prime, the answer is nil.

#### Discussion:

    23.indexOfPrime;
    25.indexOfPrime;

### Misc

### .pidRunning

#### Returns:

a Boolean for whether or not the specified pid is running.

#### Discussion:

    p = "cat".unixCmd;
    p.pidRunning; // cat will stay alive
    ("kill" + p).unixCmd
    p.pidRunning;

### Inherited instance methods

### Undocumented instance methods

### *(aNumber, adverb)

### +(aNumber, adverb)

### -(aNumber, adverb)

### .archiveAsCompileString

### .asBus(rate: 'control', numChannels: 1, server)

From extension in /Applications/SuperCollider.app/Contents/Resources/SCClassLibrary/Common/Control/asBus.sc

### .asFileSafeChar

From extension in /Users/zzk/Library/Application Support/SuperCollider/downloaded-quarks/crucial-library/Players/pathUtilities.sc

### .asFileSafeString

From extension in /Users/zzk/Library/Application Support/SuperCollider/downloaded-quarks/crucial-library/Players/pathUtilities.sc

### .asGroup

From extension in /Applications/SuperCollider.app/Contents/Resources/SCClassLibrary/Common/Control/asGroup.sc

### .asNodeID

From extension in /Applications/SuperCollider.app/Contents/Resources/SCClassLibrary/Common/Control/asTarget.sc

### .asStringToBase(base: 10, width: 8)

### .asTarget

From extension in /Applications/SuperCollider.app/Contents/Resources/SCClassLibrary/Common/Control/asTarget.sc

### .asUnicode

### .clip(lo, hi)

### .exit

### .fold(lo, hi)

### .generate(function)

### .hash

### .isAlt

### .isCaps

### .isCmd

### .isCtrl

### .isFun

### .isHelp

### .isInteger

### .isNumPad

### .isShift

### .log2Ceil

### .schedBundle(bundle, server, timeOfRequest)

From extension in /Applications/SuperCollider.app/Contents/Resources/SCClassLibrary/Common/Control/schedBundle.sc

### .wrap(lo, hi)

helpfile source: /Applications/SuperCollider.app/Contents/Resources/HelpSource/Classes/Integer.schelp
link::Classes/Integer::