reshapearray
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## reshapearray

reshapearray — Reformate un tableau en gardant sa capacité.

## Description

Opcode du greffon emugens.

L'opcode reshapearray change le format d'un tableau, à condition que cette opération ne modifie pas sa capacité. On peut l'utiliser pour convertir un tableau 1D en tableau 2D ou vice-versa, ou simplement pour modifier la taille de ses dimensions, tant que leur produit reste constant.

## Syntaxe

    reshapearray array[], isize0 [, isize1 ]

## Initialisation

array[] -- Le tableau à reformater (l'opération se fait sans réaffectation).

isize0 -- La taille de la première dimension.

isize1 -- La taille de la seconde dimension (0 pour les tableaux 1D). Vaut 0 par défaut.

## Exmples

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

Exemple 881. Exemple de l'opcode reshapearray.

    <CsoundSynthesizer>
    <CsOptions>
    ;-odac     ;;;realtime audio out

    </CsOptions>
    <CsInstruments>

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

    ; This is the example file for reshapearray

    /*

    reshapearray

      Reshape an array, maintaining the capacity of the array
      (it does NOT resize the array).

      You can reshape a 2D array to another array of equal capacity
      of reshape a 1D array to a 2D array, or a 2D array to a 1D
      array

      reshapearray array[], inumrows, inumcols=0

      works with i and k arrays, at i-time and k-time

    */

    instr 1
      ivalues[] fillarray 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
      printarray ivalues
      reshapearray ivalues, 3, 4
      printarray ivalues
      turnoff
    endin

    instr 2
      kxs[][] init 3, 4
      kxs fillarray   0,  1,  2,  3, \
                     10, 11, 12, 13, \
                     20, 21, 22, 23
      reshapearray kxs, 4, 3
      printarray kxs, 1, "", "kxs after"
      turnoff
    endin

    instr 3
      kxs[][] init 3, 4
      kxs fillarray   0,  1,  2,  3, \
                     10, 11, 12, 13, \
                     20, 21, 22, 23
      reshapearray kxs, 12
      printarray kxs, 1, "", "kxs after"
      turnoff

    endin

    </CsInstruments>

    <CsScore>
    i 1 0 0.01
    i 2 1 0.01
    i 3 2 0.01
    </CsScore>

    </CsoundSynthesizer>

## Voir aussi

printarray, getrow, slicearray,

## Crédits

Auteur : Eduardo Moguillansky 2018

Nouveau greffon dans la version 6.12

Précédent | Niveau supérieur | Suivant
repluck | Sommaire | reson