Integer:
Filter:
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.0, b: 1.0)

Returns:

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

.factors

Returns:

the prime factors as array.

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.

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

.asStringToBase(base: 10, width: 8)

Returns:

a string with width-rightmost digits in base base.

Discussion:

.asUnicode

Returns:

the receiver.

.degreeToKey(scale, stepsPerOctave: 12)

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

Discussion:

.grayCode

Returns:

the gray code for the number.

Discussion:

.hash

Returns:

a hash value.

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:

.isPowerOfTwo

Returns:

the whether the receiver is a power of two.

Discussion:

Prime Numbers

.nthPrime

Returns:

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

Discussion:

.prevPrime

Returns:

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

Discussion:

.nextPrime

Returns:

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

Discussion:

.isPrime

Returns:

whether the receiver is prime.

Discussion:

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

Integer Math

*(aNumber, adverb)

Multiplication.

+(aNumber, adverb)

Addition.

-(aNumber, adverb)

Subtraction.

.clip(lo, hi)

Returns:

  • the receiver if it is between lo and hi
  • lo if the receiver is less than lo
  • hi if the receiver is greater than hi

The result is an Integer only if both lo and hi are Integers.

Discussion:

.factorial

Returns:

the factorial of the receiver as an integer. This will overflow for numbers > 12 and throw an error. Floating point factorials can be used in such cases (see: SimpleNumber: -factorial).

Discussion:

.fold(lo, hi)

Folds in to a value between lo and hi.

Returns:

an Integer between lo and hi.

Discussion:

.log2Ceil

Returns:

next larger integer of the base 2 logarithm of the receiver.

Discussion:

.wrap(lo, hi)

Wraps in to a value between lo and hi.

Returns:

an Integer between lo and hi.

Discussion:

Range Limiting

.clip(lo, hi)

Return this if lo <= this <= hi, otherwise return the nearest boundary: lo if this < lo, hi if this > hi.

Arguments:

lo

The low threshold of clipping.

hi

The high threshold of clipping.

.fold(lo, hi)

Fold this to [lo, hi].

Arguments:

lo

The low threshold of folding.

hi

The high threshold of folding.

.wrap(lo, hi)

Wrap this around [lo, hi] such that it falls in range. Equivalent to (this % (hi - lo + 1)) + lo. Note that this behavior is different from Float: -wrap.

Arguments:

lo

The low threshold (inclusive) of wrapping.

hi

The high threshold (inclusive) of wrapping.

Misc

.exit

Returns:

exits the sclang program and returns the receiver as an exit code to the parent process (e.g. Unix shell).

Discussion:

.generate(function)

Returns:

calls function.value(receiver) but returns the receiver.

Discussion:

.isInteger

Returns:

true (the receiver is an integer).

.isAlt

.isCaps

.isCmd

.isCtrl

.isFun

.isHelp

.isNumPad

.isShift

Returns:

a Boolean for whether or not the given key modifier is in effect. For a list of these, see Modifier Keys.

Discussion:

.pidRunning

Returns:

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

Discussion:

Perfect Powers

.perfectPower

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/MathLib/classes/various/extInteger.sc

perfect power decomposition

Returns:

if the receiver can be decomposed into an integer base raised to an integer power, return the base and power as an array, otherwise return nil.

Discussion:

the returned decomposition is in minimal exponent form

.perfectSqrt

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/MathLib/classes/various/extInteger.sc

the perfect square root of the number

Returns:

if an integer square root can be found, return, otherwise return nil.

Discussion:

.perfectCbrt

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/MathLib/classes/various/extInteger.sc

the perfect cube root of the number

Returns:

if an integer cube root can be found, return, otherwise return nil.

Discussion:

.perfectRootOf(aNumber)

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/MathLib/classes/various/extInteger.sc

the perfect root of the number

Returns:

if an integer root can be found, return, otherwise return nil.

Discussion:

.isPerfectPower

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/MathLib/classes/various/extInteger.sc

answer if the receiver can be decomposed into an integer base raised to an integer power

Discussion:

observes the convention where the first perfect power is 4

Fourier Transform

.fftFreqs(sampleRate)

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/SignalBox/Classes/extInteger.sc

Returns:

the Discrete Fourier Transform sample frequencies.

Discussion:

.rfftFreqs(sampleRate)

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/SignalBox/Classes/extInteger.sc

Returns:

the Discrete Fourier Transform sample frequencies.

Discussion:

.dftFreqs(sampleRate)

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/SignalBox/Classes/extInteger.sc

Returns:

the Discrete Fourier Transform sample frequencies.

Discussion:

Ambisonic Toolkit

.asHoaOrder

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/atk-sc3/Classes/extInteger.sc

Returns:

a new HoaOrder instance.

.asHoaDegree

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/atk-sc3/Classes/extInteger.sc

Returns:

a new HoaDegree instance.

Inherited instance methods

Undocumented instance methods

.allPartitions

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/MathLib/classes/various/extIntegerPartition.sc

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

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

.asGroup

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

.asNodeID

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

.asPaddedString(size: 2, padChar: "0", padSide: 'left')

From extension in /Library/Application Support/SuperCollider/Extensions/sc3-plugins-3.13.0/SC3plugins/LoopBufUGens/classes/LJP Classes/Extensions/Integer-asPaddedString.sc

.asStringWithFrac(fracSize: 3)

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/wslib/wslib-classes/Extensions/String/asStringWithFrac.sc

.asTarget

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

.isCantorNumber

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/MathLib/classes/various/isCantorNumber.sc

.mapToCantor

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/MathLib/classes/various/isCantorNumber.sc

.schedBundle(bundle, server, timeOfRequest)

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