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.

5.12 Procedure intrinseche 271<br />

IOR(I,J)<br />

Restituisce l’or inclusivo di tutti i bit di I con i corrispondenti bit di J, in accordo con la<br />

seguente tabella di verità:<br />

I 1 1 0 0<br />

J 1 0 1 0<br />

IOR(I,J) 1 1 1 0<br />

Gli argomenti I e J devono avere medesimo parametro di kind, che corrisponde al parametro<br />

di kind del risultato.<br />

ISHIFT(I,SHIFT)<br />

Restituisce un intero con il medesimo parametro di kind di I e valore ottenuto da quello di<br />

I spostandone i bit di SHIFT posizioni a sinistra, se SHIFT è positivo, a destra se SHIFT è<br />

negativo. I bit ”sgomberati” sono posti pari a zero. L’argomento intero SHIFT deve soddisfare<br />

alla condizione |SHIFT|≤BIT_SIZE(I).<br />

ISHIFTC(I,SHIFT[,SIZE])<br />

Fornisce un intero avente il parametro di kind di I e valore ottenuto applicando ai SIZE bit<br />

più a destra di I (o a tutti i bit di I se SIZE è assente) uno ”shift circolare” a destra (se SHIFT<br />

è positivo) o a sinistra (se SHIFT è negativo). <strong>Il</strong> valore dell’argomento intero SHIFT non deve<br />

superare, in valore assoluto, il valore di SIZE (o di BIT_SIZE(I) se SIZE è assente).<br />

NOT(I)<br />

Restituisce il complemento logico di tutti i bit di I, in accordo con la seguente tavola di verità:<br />

I 0 1<br />

NOT(I) 1 0<br />

MVBITS(FROM,FROMPOS,LEN,TO,TOPOS)<br />

Si tratta dell’unica subroutine del gruppo. Essa copia la sequenza di bit di FROM di lunghezza<br />

LEN e che parte dalla posizione FROMPOS nel target TO a partire dalla posizione TOPOS. I<br />

bit rimanenti restano inalterati. Tutti i parametri sono di tipo INTEGER ed hanno attributo<br />

INTENT(IN) ad eccezione di TO che ha attributo INTENT(INOUT). L’argomento TO, inoltre, deve<br />

avere lo stesso parametro di kind di FROM. Si noti che una stessa variabile può essere specificata<br />

contemporaneamente come FROM e come TO. I parametri di questa procedura devono soddisfare<br />

alle condizioni:<br />

FROMPOS+LEN≤BIT_SIZE(FROM)<br />

LEN≥0<br />

FROMPOS≥0<br />

TOPOS+LEN≤BIT_SIZE(TO)<br />

TOPOS≥0

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

Saved successfully!

Ooh no, something went wrong!