maparray
Prev | Opcodes et opérateurs de l'orchestre | Next

## maparray

maparray — Applique une fonction à chaque élément d'un vecteur.

## Description

Applique une fonction d'un argument à chaque élément d'un vecteur (tableau unidimensionnel de taux-k).

## Syntaxe

    karray maparray kinarray, String

    karray maparray_i kinarray, String

## Initialisation

String -- une chaîne de caractères nommant un opcode fonctionnel, au taux-i pour tabmap_i ou au taux-k pour tabmap.

## Exécution

karray -- tableau pour les images de la fonction.

kinarray -- tableau pour les arguments de la fonction.

## Exemples

Voici un exemple de l'opcode maparray. Il utilise le fichier maparray.csd.

Example 472. Exxemple de l'opcode maparray.

Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.

    <CsoundSynthesizer>
    <CsOptions>
    ; Select audio/midi flags here according to platform
    -n
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 32
    nchnls = 2
    0dbfs  = 1

    instr 1

    ;create an array and fill with numbers
    kArrSrc[] fillarray 1.01, 2.02, 3.03, 4.05, 5.08, 6.13, 7.21

    ;print source array
            printf  "%s", 1, "\nSource array:\n"
    kndx    =       0
      until kndx == lenarray(kArrSrc) do
            printf  "kArrSrc[%d] = %f\n", kndx+1, kndx, kArrSrc[kndx]
    kndx    +=      1
      od

    ;create an empty array for the results
    kArrRes[] init  7

    ;apply the sqrt() function to each element
    kArrRes maparray kArrSrc, "sqrt"

    ;print the result
            printf  "%s", 1, "\nResult after applying sqrt() to source array\n"
    kndx    =       0
      until kndx == lenarray(kArrRes) do
            printf  "kArrRes[%d] = %f\n", kndx+1, kndx, kArrRes[kndx]
    kndx    +=      1
      od

    ;apply the log() function to each element
    kArrRes maparray kArrSrc, "log"

    ;print the result
            printf  "%s", 1, "\nResult after applying log() to source array\n"
    kndx    =       0
      until kndx == lenarray(kArrRes) do
            printf  "kArrRes[%d] = %f\n", kndx+1, kndx, kArrRes[kndx]
    kndx    +=      1
      od

    ;apply the int() function to each element
    kArrRes maparray kArrSrc, "int"

    ;print the result
            printf  "%s", 1, "\nResult after applying int() to source array\n"
    kndx    =       0
      until kndx == lenarray(kArrRes) do
            printf  "kArrRes[%d] = %f\n", kndx+1, kndx, kArrRes[kndx]
    kndx     +=     1
      od

    ;apply the frac() function to each element
    kArrRes maparray kArrSrc, "frac"

    ;print the result
            printf  "%s", 1, "\nResult after applying frac() to source array\n"
    kndx    =       0
      until kndx == lenarray(kArrRes) do
            printf  "kArrRes[%d] = %f\n", kndx+1, kndx, kArrRes[kndx]
    kndx += 1
      od

    ;turn instrument instance off
            turnoff

    endin

    </CsInstruments>
    <CsScore>
    i 1 0 0.1
    e
    </CsScore>
    </CsoundSynthesizer>

## Voir aussi

Opcodes vectoriels

## Crédits

Auteur : John ffitch
Codemist Ltd
2013

Nouveau dans la version 6.00

Prev | Up | Next
mandol | Home | marimba