25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

334 Array Processing<br />

• Se l’argomento MASK è presente, il risultato rappresenta il prodotto di tutti gli elementi<br />

di ARRAY che corrispondano ad elementi .TRUE. di MASK. Se ARRAY ha dimensione nulla,<br />

oppure tutti gli elementi di MASK hanno valore .FALSE., il risultato vale 1.<br />

Nel caso, invece, in cui DIM venga specificato, si ha:<br />

• Se ARRAY ha rango unitario, il valore della funzione è pari a PRODUCT(ARRAY[,MASK]).<br />

• L’array risultante ha rango pari a quello di ARRAY diminuito di un’unità.<br />

Esempi:<br />

PRODUCT((/2,3,4/)) restituisce valore 24 (tale essendo il risultato del prodotto<br />

2×3×4).<br />

PRODUCT((/2,3,4/),DIM=1) restituisce, chiaramente, lo stesso valore.<br />

Sia a l’array:<br />

1 4 7 2<br />

2 3 5 1<br />

PRODUCT(a,DIM=1) restituisce il valore (/2,12,35,2/), che è il prodotto degli elementi<br />

di ciascuna colonna (ossia 1×2, nella prima colonna, 4×3 nella seconda colonna,<br />

e così via).<br />

PRODUCT(a,DIM=2) restituisce il valore (/56,30/), che è il prodotto degli elementi<br />

di ciascuna riga (ossia 1×2×7×2, nella prima riga, 2×3×5×1, nella seconda riga).<br />

SUM(ARRAY[,DIM][,MASK])<br />

Restituisce il valore della somma di tutti gli elementi di un intero array oppure degli elementi<br />

din un array in una data dimensione.<br />

L’argomento ARRAY deve essere un array di tipo INTEGER, REAL o COMPLEX.<br />

L’argomento opzionale DIM deve essere uno scalare di tipo INTEGER con valore compreso tra<br />

1 ed n , essendo n il rango di ARRAY.<br />

L’argomento opzionale MASK deve essere un array di tipo LOGICAL compatibile con ARRAY.<br />

<strong>Il</strong> risultato della funzione è uno scalare (se l’argomento DIM è assente oppure se ARRAY ha<br />

rango unitario) oppure un array (se DIM è presente) dello stesso tipo di ARRAY.<br />

Nel caso in cui DIM non sia specificato, valgono le seguenti regole:<br />

• Se l’argomento MASK è assente, il risultato rappresenta la somma di tutti gli elementi di<br />

ARRAY. Se ARRAY ha dimensione nulla, il risultato vale zero.<br />

• Se l’argomento MASK è presente, il risultato rappresenta la somma di tutti gli elementi<br />

di ARRAY che corrispondano ad elementi .TRUE. di MASK. Se ARRAY ha dimensione nulla,<br />

oppure se tutti gli elementi di MASK hanno valore .FALSE., il risultato vale zero.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!