GEOps2

final class GEOps2[A](x: GE[A]) extends AnyVal

GEOps2 are operations for graph elements (GE). Instead of having these operations directly defined in each element, which is a huge list, they appear here as extension methods. GEOps1 are unary operators, whereas GEOps2 are binary and n-ary operators.

See also:
class AnyVal
trait Matchable
class Any

Value members

Concrete methods

def %[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def &(that: GE[A])(implicit num: NumInt[A]): GE[A]

Bit-wise AND

Bit-wise AND

def &&(that: GE[A])(implicit num: NumBool[A]): GE[A]

Logical AND

Logical AND

def *[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]

Multiplication of two signals.

Multiplication of two signals.

def +[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]

Addition of two signals.

Addition of two signals.

def -[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]

Subtracts the second operand from the input signal.

Subtracts the second operand from the input signal.

def /[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: NumDiv[A2]): GE[A2]
def <(that: GE[A])(implicit ord: ScalarOrd[A]): B
def <<(that: GE[A])(implicit num: NumInt[A]): GE[A]
def <=(that: GE[A])(implicit ord: ScalarOrd[A]): B
def >(that: GE[A])(implicit ord: ScalarOrd[A]): B
def >=(that: GE[A])(implicit ord: ScalarOrd[A]): B
def >>(that: GE[A])(implicit num: NumInt[A]): GE[A]
def >>>(that: GE[A])(implicit num: NumInt[A]): GE[A]
def ^(that: GE[A])(implicit num: NumInt[A]): GE[A]

Bit-wise XOR

Bit-wise XOR

def ^^(that: GE[A])(implicit num: NumBool[A]): GE[A]

Logical XOR

Logical XOR

def absDif[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]

The absolute difference between two signals.

The absolute difference between two signals.

def amClip[A1](that: GE[A1])(implicit w: Widen2[A, A1, Double]): D

Clipped amplitude-modulation. A multiplication of both signals, or zero if the second operand is less than or equal to zero.

Clipped amplitude-modulation. A multiplication of both signals, or zero if the second operand is less than or equal to zero.

def atan2[A1](that: GE[A1])(implicit w: Widen2[A, A1, Double]): D
def clip[A1, A2](lo: GE[A1], hi: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def clip2[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def complex(implicit ev: GE[A] =:= D): GEComplexOps

Enables operators for an assumed complex signal.

Enables operators for an assumed complex signal.

def difSqr[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def excess[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]

Residual of clipping, also known as center clipping. The formula is (a - clip2(a, b)).

Residual of clipping, also known as center clipping. The formula is (a - clip2(a, b)).

def expExp(inLo: D, inHi: D, outLo: D, outHi: D)(implicit w: Widen[A, Double]): D
def expLin(inLo: D, inHi: D, outLo: D, outHi: D)(implicit w: Widen[A, Double]): D
def fold[A1, A2](lo: GE[A1], hi: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def fold2[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def gcd(that: GE[A])(implicit num: NumInt[A]): GE[A]

Greatest-common-denominator.

Greatest-common-denominator.

def hertz(implicit sr: SampleRate, w: Widen[A, Double]): D

Converts a frequency in Hertz to a normalized frequency, divided by the sampling rate.

Converts a frequency in Hertz to a normalized frequency, divided by the sampling rate.

def hypot[A1](that: GE[A1])(implicit w: Widen2[A, A1, Double]): D
def hypotApx[A1](that: GE[A1])(implicit w: Widen2[A, A1, Double]): D
def lcm(that: GE[A])(implicit num: NumInt[A]): GE[A]

Least-common-multiple.

Least-common-multiple.

def linExp(inLo: D, inHi: D, outLo: D, outHi: D)(implicit w: Widen[A, Double]): D
def linLin(inLo: D, inHi: D, outLo: D, outHi: D)(implicit w: Widen[A, Double]): D
def matchLen[B](b: GE[B]): GE[A]

Truncates or extends the first operand to match the length of b. This uses the SecondArg operator with operands reversed.

Truncates or extends the first operand to match the length of b. This uses the SecondArg operator with operands reversed.

def max[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def min[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def mod[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def poll: Poll[A]

Polls a single value from the element.

Polls a single value from the element.

def poll(label: String): Poll[A]

Polls a single value from the element, and prints it with a given label.

Polls a single value from the element, and prints it with a given label.

def poll(gate: B, label: Optional[String]): Poll[A]

Polls the output values of this graph element, and prints the result to the console. This is a convenient method for wrapping this graph element in a Poll UGen.

Polls the output values of this graph element, and prints the result to the console. This is a convenient method for wrapping this graph element in a Poll UGen.

Value parameters:
gate

a gate signal for the printing.

label

a string to print along with the values, in order to identify different polls. Using the special label "#auto" (default) will generated automatic useful labels using information from the polled graph element

See also:
def pow[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, Double]): D

'''Warning:''' Unlike a normal power operation, the signum of the left operand is always preserved. I.e. DC.kr(-0.5).pow(2) will not output 0.25 but -0.25. This is to avoid problems with floating point noise and negative input numbers, so DC.kr(-0.5).pow(2.001) does not result in a NaN, for example.

'''Warning:''' Unlike a normal power operation, the signum of the left operand is always preserved. I.e. DC.kr(-0.5).pow(2) will not output 0.25 but -0.25. This is to avoid problems with floating point noise and negative input numbers, so DC.kr(-0.5).pow(2.001) does not result in a NaN, for example.

def ring1[A1](that: GE[A1])(implicit w: Widen2[A, A1, Double]): D
def ring2[A1](that: GE[A1])(implicit w: Widen2[A, A1, Double]): D
def ring3[A1](that: GE[A1])(implicit w: Widen2[A, A1, Double]): D
def ring4[A1](that: GE[A1])(implicit w: Widen2[A, A1, Double]): D
def roundTo[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def roundUpTo[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def scaleNeg[A1](that: GE[A1])(implicit w: Widen2[A, A1, Double]): D

If the input is positive, passes it unmodified, if it is negative it is scaled (multiplied) by the second operand.

If the input is positive, passes it unmodified, if it is negative it is scaled (multiplied) by the second operand.

def seconds(implicit sr: SampleRate, w: Widen[A, Double]): L

Converts a duration in seconds to a number of sample frames, by multiplying with the sampling rate. The value is truncated to an integer number.

Converts a duration in seconds to a number of sample frames, by multiplying with the sampling rate. The value is truncated to an integer number.

def sig_!=(that: GE[A])(implicit eq: Eq[A] & Scalar[A]): B

Compares the two signals for inequality, frame by frame

Compares the two signals for inequality, frame by frame

def sig_==(that: GE[A])(implicit eq: Eq[A] & Scalar[A]): B

Compares the two signals for equality, frame by frame

Compares the two signals for equality, frame by frame

def sqrDif[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def sqrSum[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def sumSqr[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def thresh[A1](that: GE[A1])(implicit w: Widen2[A, A1, Double]): D

Thresholding such that the input signal is passed when it is equal to or greater than the second operand, otherwise zero is output.

Thresholding such that the input signal is passed when it is equal to or greater than the second operand, otherwise zero is output.

def trunc[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def wrap[A1, A2](lo: GE[A1], hi: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def wrap2[A1, A2](that: GE[A1])(implicit w: Widen2[A, A1, A2], num: Num[A2]): GE[A2]
def |(that: GE[A])(implicit num: NumInt[A]): GE[A]

Bit-wise OR

Bit-wise OR

def ||(that: GE[A])(implicit num: NumBool[A]): GE[A]

Logical OR

Logical OR