-- | Limiting and wrapping of vectorial control signals module CsoundExpr.Opcodes.Vectorial.Vectorialimiting (vlimit, vwrap, vmirror) where import CsoundExpr.Base.Types import CsoundExpr.Base.MultiOut import CsoundExpr.Base.SideEffect import CsoundExpr.Base.UserDefined -- | * opcode : vlimit -- -- -- * syntax : -- -- > vlimit ifn, kmin, kmax, ielements -- -- -- * description : -- -- Limits elements of vectorial control signals. -- -- -- * url : vlimit :: (K k0, K k1) => Irate -> k0 -> k1 -> Irate -> SignalOut vlimit i0fn k1min k2max i3elements = outOpcode "vlimit" args where args = [to i0fn, to k1min, to k2max, to i3elements] -- | * opcode : vwrap -- -- -- * syntax : -- -- > vwrap ifn, kmin, kmax, ielements -- -- -- * description : -- -- Wraps elements of vectorial control signals. -- -- -- * url : vwrap :: (K k0, K k1) => Irate -> k0 -> k1 -> Irate -> SignalOut vwrap i0fn k1min k2max i3elements = outOpcode "vwrap" args where args = [to i0fn, to k1min, to k2max, to i3elements] -- | * opcode : vmirror -- -- -- * syntax : -- -- > vmirror ifn, kmin, kmax, ielements -- -- -- * description : -- -- 'Reflects' elements of vectorial control signals on thresholds. -- -- -- * url : vmirror :: (K k0, K k1) => Irate -> k0 -> k1 -> Irate -> SignalOut vmirror i0fn k1min k2max i3elements = outOpcode "vmirror" args where args = [to i0fn, to k1min, to k2max, to i3elements]