-- | Comparators and Accumulators module CsoundExpr.Opcodes.Math.SigmodCompaccum (maxA, maxK, max_k, maxabsA, maxabsK, maxabsaccum, maxaccum, minA, minK, minabsA, minabsK, minabsaccum, minaccum) where import CsoundExpr.Base.Types import CsoundExpr.Base.MultiOut import CsoundExpr.Base.SideEffect import CsoundExpr.Base.UserDefined -- | * opcode : max -- -- -- * syntax : -- -- > amax max ain1 [, ain2] [, ain3] [, ain4] [...] -- > kmax max kin1 [, kin2] [, kin3] [, kin4] [...] -- -- -- * description : -- -- The max opcode takes any number of a-rate or k-rate signals as -- input (all of the same rate), and outputs a signal at the same -- rate that is the maximum of all of the inputs. For a-rate -- signals, the inputs are compared one sample at a time (i.e. max -- does not scan an entire ksmps period of a signal for its local -- maximum as the max_k opcode does). -- -- -- * url : maxA :: [Arate] -> Arate maxA a0inN = opcode "max" args where args = map to a0inN -- | * opcode : max -- -- -- * syntax : -- -- > amax max ain1 [, ain2] [, ain3] [, ain4] [...] -- > kmax max kin1 [, kin2] [, kin3] [, kin4] [...] -- -- -- * description : -- -- The max opcode takes any number of a-rate or k-rate signals as -- input (all of the same rate), and outputs a signal at the same -- rate that is the maximum of all of the inputs. For a-rate -- signals, the inputs are compared one sample at a time (i.e. max -- does not scan an entire ksmps period of a signal for its local -- maximum as the max_k opcode does). -- -- -- * url : maxK :: (K k0) => [k0] -> Krate maxK k0inN = opcode "max" args where args = map to k0inN -- | * opcode : max_k -- -- -- * syntax : -- -- > knumkout max_k asig, ktrig, itype -- -- -- * description : -- -- max_k outputs the local maximum (or minimum) value of the -- incoming asig signal, checked in the time interval between ktrig -- has become true twice. -- -- -- * url : max_k :: (K k0) => Arate -> k0 -> Irate -> Krate max_k a0sig k1trig i2type = opcode "max_k" args where args = [to a0sig, to k1trig, to i2type] -- | * opcode : maxabs -- -- -- * syntax : -- -- > amax maxabs ain1 [, ain2] [, ain3] [, ain4] [...] -- > kmax maxabs kin1 [, kin2] [, kin3] [, kin4] [...] -- -- -- * description : -- -- The maxabs opcode takes any number of a-rate or k-rate signals -- as input (all of the same rate), and outputs a signal at the same -- rate that is the maximum of all of the inputs. It is identical to -- the max opcode except that it takes the absolute value of each -- input before comparing them. Therefore, the output is always -- non-negative. For a-rate signals, the inputs are compared one -- sample at a time (i.e. maxabs does not scan an entire ksmps -- period of a signal for its local maximum as the max_k opcode -- does). -- -- -- * url : maxabsA :: [Arate] -> Arate maxabsA a0inN = opcode "maxabs" args where args = map to a0inN -- | * opcode : maxabs -- -- -- * syntax : -- -- > amax maxabs ain1 [, ain2] [, ain3] [, ain4] [...] -- > kmax maxabs kin1 [, kin2] [, kin3] [, kin4] [...] -- -- -- * description : -- -- The maxabs opcode takes any number of a-rate or k-rate signals -- as input (all of the same rate), and outputs a signal at the same -- rate that is the maximum of all of the inputs. It is identical to -- the max opcode except that it takes the absolute value of each -- input before comparing them. Therefore, the output is always -- non-negative. For a-rate signals, the inputs are compared one -- sample at a time (i.e. maxabs does not scan an entire ksmps -- period of a signal for its local maximum as the max_k opcode -- does). -- -- -- * url : maxabsK :: (K k0) => [k0] -> Krate maxabsK k0inN = opcode "maxabs" args where args = map to k0inN -- | * opcode : maxabsaccum -- -- -- * syntax : -- -- > maxabsaccum aAccumulator, aInput -- -- -- * description : -- -- maxabsaccum compares two audio-rate variables and stores the -- maximum of their absolute values into the first. -- -- -- * url : maxabsaccum :: Arate -> Arate -> SignalOut maxabsaccum a0Accumulator a1Input = outOpcode "maxabsaccum" args where args = [to a0Accumulator, to a1Input] -- | * opcode : maxaccum -- -- -- * syntax : -- -- > maxaccum aAccumulator, aInput -- -- -- * description : -- -- maxaccum compares two audio-rate variables and stores the -- maximum value between them into the first. -- -- -- * url : maxaccum :: Arate -> Arate -> SignalOut maxaccum a0Accumulator a1Input = outOpcode "maxaccum" args where args = [to a0Accumulator, to a1Input] -- | * opcode : min -- -- -- * syntax : -- -- > amin min ain1 [, ain2] [, ain3] [, ain4] [...] -- > kmin min kin1 [, kin2] [, kin3] [, kin4] [...] -- -- -- * description : -- -- The min opcode takes any number of a-rate or k-rate signals as -- input (all of the same rate), and outputs a signal at the same -- rate that is the minimum of all of the inputs. For a-rate -- signals, the inputs are compared one sample at a time (i.e. min -- does not scan an entire ksmps period of a signal for its local -- minimum as the max_k opcode does). -- -- -- * url : minA :: [Arate] -> Arate minA a0inN = opcode "min" args where args = map to a0inN -- | * opcode : min -- -- -- * syntax : -- -- > amin min ain1 [, ain2] [, ain3] [, ain4] [...] -- > kmin min kin1 [, kin2] [, kin3] [, kin4] [...] -- -- -- * description : -- -- The min opcode takes any number of a-rate or k-rate signals as -- input (all of the same rate), and outputs a signal at the same -- rate that is the minimum of all of the inputs. For a-rate -- signals, the inputs are compared one sample at a time (i.e. min -- does not scan an entire ksmps period of a signal for its local -- minimum as the max_k opcode does). -- -- -- * url : minK :: (K k0) => [k0] -> Krate minK k0inN = opcode "min" args where args = map to k0inN -- | * opcode : minabs -- -- -- * syntax : -- -- > amin minabs ain1 [, ain2] [, ain3] [, ain4] [...] -- > kmin minabs kin1 [, kin2] [, kin3] [, kin4] [...] -- -- -- * description : -- -- The minabs opcode takes any number of a-rate or k-rate signals -- as input (all of the same rate), and outputs a signal at the same -- rate that is the minimum of all of the inputs. It is identical to -- the min opcode except that it takes the absolute value of each -- input before comparing them. Therefore, the output is always -- non-negative. For a-rate signals, the inputs are compared one -- sample at a time (i.e. minabs does not scan an entire ksmps -- period of a signal for its local minimum as the max_k opcode -- does). -- -- -- * url : minabsA :: [Arate] -> Arate minabsA a0inN = opcode "minabs" args where args = map to a0inN -- | * opcode : minabs -- -- -- * syntax : -- -- > amin minabs ain1 [, ain2] [, ain3] [, ain4] [...] -- > kmin minabs kin1 [, kin2] [, kin3] [, kin4] [...] -- -- -- * description : -- -- The minabs opcode takes any number of a-rate or k-rate signals -- as input (all of the same rate), and outputs a signal at the same -- rate that is the minimum of all of the inputs. It is identical to -- the min opcode except that it takes the absolute value of each -- input before comparing them. Therefore, the output is always -- non-negative. For a-rate signals, the inputs are compared one -- sample at a time (i.e. minabs does not scan an entire ksmps -- period of a signal for its local minimum as the max_k opcode -- does). -- -- -- * url : minabsK :: (K k0) => [k0] -> Krate minabsK k0inN = opcode "minabs" args where args = map to k0inN -- | * opcode : minabsaccum -- -- -- * syntax : -- -- > minabsaccum aAccumulator, aInput -- -- -- * description : -- -- minabsaccum compares two audio-rate variables and stores the -- minimum of their absolute values into the first. -- -- -- * url : minabsaccum :: Arate -> Arate -> SignalOut minabsaccum a0Accumulator a1Input = outOpcode "minabsaccum" args where args = [to a0Accumulator, to a1Input] -- | * opcode : minaccum -- -- -- * syntax : -- -- > minaccum aAccumulator, aInput -- -- -- * description : -- -- minaccum compares two audio-rate variables and stores the -- minimum value between them into the first. -- -- -- * url : minaccum :: Arate -> Arate -> SignalOut minaccum a0Accumulator a1Input = outOpcode "minaccum" args where args = [to a0Accumulator, to a1Input]