vexpv_i

vexpv_i — Exponentiation entre deux signaux vectoriels de contrôle à l'initialisation.

Description

Exponentiation entre deux signaux vectoriels de contrôle à l'initialisation.

Syntaxe

vexpv_i  ifn1, ifn2, ielements [, idstoffset] [, isrcoffset]

Initialisation

ifn1 - numéro de la table hébergeant le premier vecteur à traiter.

ifn2 - numéro de la table hébergeant le second vecteur à traiter.

ielements - nombre de composantes des deux vecteurs.

idstoffset - décalage d'indexation pour la table de destination ifn1 (vaut 0 par défaut).

isrcoffset - décalage d'indexation pour la table source ifn2 (vaut 0 par défaut).

Exécution

vexpv_i élève chaque élément de ifn2 à la puissance donnée par l'élément correspondant de ifn1. Chaque signal vectoriel est hébergé dans une table (ifn1 et ifn2). Le nombre de composantes de chaque vecteur doit être identique.

Le résultat est un nouveau signal vectoriel de contrôle qui écrase les anciennes valeurs de ifn1. Si l'on veut garder l'ancien vecteur ifn1, il faut utiliser l'opcode vcopy_i pour le copier dans une autre table. On peut utiliser idstoffset et isrcoffset pour spécifier des vecteurs à n'importe quelle position dans les tables.

Des valeurs négatives pour idstoffset et isrcoffset sont acceptables. Si idstoffset est négatif, la partie du vecteur hors-limites est ignorée. Si isrcoffset est négatif, les éléments hors-limites seront supposés valoir 0 (c'est-à-dire que les éléments de destination seront fixés à 1). Si des éléments pour le vecteur de destination sont au-delà de la taille de la table (point de garde inclus), ces éléments sont ignorés (les éléments ne sont pas repliés autour des tables). Si des éléments pour le vecteur source sont au-delà de la longueur de la table, ces éléments sont supposés valoir 0 (c'est-à-dire que les éléments de destination seront fixés à 1).

[Avertissement] Avertissement

L'utilisation de la même table comme source et comme destination dans les versions antérieures à la 5.04 peut induire un comportement imprévu. A utiliser avec précaution.

Cet opcode travaille à l'initialisation. Il y a une version de taux-k de appelée vexpv.

Tous ces opérateurs (vaddv_i, vsubv_i, vmultv_i, vdivv_i, vpowv_i, vexpv_i, vcopy et vmap) sont conçus pour être utilisés avec d'autres opcodes qui opèrent sur des signaux vectoriels tels que vcella, adsynt, adsynt2, etc.

Crédits

Ecrit par Gabriel Maldonado. Arguments facultatifs ajoutés par Andrés Cabrera et Istvan Varga.

Nouveau dans Csound 5 (Auparavant seulement disponible dans CsoundAV)