DSHIFTL(3I) Last changed: 2-5-98
_dshiftl, DSHIFTL - Performs a double-object left shift
C/C++:
#include <intrinsics.h>
long _dshiftl (long i, long j, long k);
Fortran:
DSHIFTL ([I=]i, [J=]j, [K=]k)
C/C++: UNICOS and UNICOS/mk systems
Fortran: UNICOS, UNICOS/mk, and IRIX systems
C/C++: Cray Research extension
Fortran: CF90 and MIPSpro 7 Fortran 90 compiler extension to Fortran
90
The _dshiftl and DSHIFTL functions perform a double-object left shift.
They return a single object.
The result is derived from two arguments, i and j. The arguments are
as follows:
i The upper bits of the double object. Must be of type integer.
j The lower bits of the double object. Must be of the same type
and size as i.
k The number of bits to be shifted. Must be of type integer.
The _dshiftl and DSHIFTL functions return a value generated by a left
double-shift of the leftmost k bits of j into the rightmost k bits of
i. If both the i and j arguments specify the same word in memory, a
rotated shift occurs. The value of k must be in the range of 0
through 64 for _dshiftl.
C/C++ NOTES
Because _dshiftl is an intrinsic function, no externally visible
library function is available for it. The compiler generates inline
code to produce the result.
FORTRAN NOTES
On UNICOS systems, i and j are 64-bit objects. On UNICOS/mk systems,
i and j can be 32- or 64-bit objects. On IRIX systems, i and j can be
8-, 16-, 32-, or 64-bit objects.
When shifting 64-bit quantities, i makes up bits 64 through 127 of the
double object. The function result is the 64-bit string beginning
with bit 64-k; that is, its leftmost bit is k bits from the double
object's left end. The value of k must be 0 <= k <= 64.
When shifting 32-bit quantities, i makes up bits 32 through 63 of the
double object. The function result is the 32-bit string beginning
with bit 32-k; that is, its leftmost bit is k bits from the double
object's left end. The value of k must be 0 <= k <= 32.
When shifting 16-bit quantities, i makes up bits 16 through 31 of the
double object. The function result is the 16-bit string beginning
with bit 16-k; that is, its leftmost bit is k bits from the double
object's left end. The value of k must be 0 <= k <= 16.
When shifting 8-bit quantities, i makes up bits 8 through 15 of the
double object. The function result is the 8-bit string beginning with
bit 8-k; that is, its leftmost bit is k bits from the double object's
left end. The value of k must be 0 <= k <= 8.
Arguments are not altered in their original storage unless the result
represents the same address as either i or j, as in the Fortran
assignment M = DSHIFTL(M, N, 5).
For more information on storage units, see the Fortran Language
Reference Manual, Volume 3, publication SR-3905.
DSHIFTL is an elemental function. The name of this intrinsic cannot
be passed as an argument.
_dshiftl returns a 64-bit integer result.
DSHIFTL returns a typeless result on UNICOS and UNICOS/mk systems and
an integer result on IRIX systems. The size of the result is the size
of the arguments i and j.
Fortran: The following figure shows a shift of two 64-bit quantities:
|<-- Double quantity shifts left by k bits
127 i 64 63 j 0
|___________________________|___________________________|
|-----k-----|----------result-----------|
A complete list of C/C++ intrinsic functions available on Cray
Research systems is in the Cray C/C++ Reference Manual, publication
SR-2179.
Fortran Language Reference Manual, Volume 3, publication SR-3905
Intrinsic Procedures Reference Manual, publication SR-2138, for the
printed version of this man page.
DSHIFTL(3I) Last changed: 2-5-98
_dshiftl, DSHIFTL - Performs a double-object left shift
C/C++:
#include <intrinsics.h>
long _dshiftl (long i, long j, long k);
Fortran:
DSHIFTL ([I=]i, [J=]j, [K=]k)
C/C++: UNICOS and UNICOS/mk systems
Fortran: UNICOS, UNICOS/mk, and IRIX systems
C/C++: Cray Research extension
Fortran: CF90 and MIPSpro 7 Fortran 90 compiler extension to Fortran
90
The _dshiftl and DSHIFTL functions perform a double-object left shift.
They return a single object.
The result is derived from two arguments, i and j. The arguments are
as follows:
i The upper bits of the double object. Must be of type integer.
j The lower bits of the double object. Must be of the same type
and size as i.
k The number of bits to be shifted. Must be of type integer.
The _dshiftl and DSHIFTL functions return a value generated by a left
double-shift of the leftmost k bits of j into the rightmost k bits of
i. If both the i and j arguments specify the same word in memory, a
rotated shift occurs. The value of k must be in the range of 0
through 64 for _dshiftl.
C/C++ NOTES
Because _dshiftl is an intrinsic function, no externally visible
library function is available for it. The compiler generates inline
code to produce the result.
FORTRAN NOTES
On UNICOS systems, i and j are 64-bit objects. On UNICOS/mk systems,
i and j can be 32- or 64-bit objects. On IRIX systems, i and j can be
8-, 16-, 32-, or 64-bit objects.
When shifting 64-bit quantities, i makes up bits 64 through 127 of the
double object. The function result is the 64-bit string beginning
with bit 64-k; that is, its leftmost bit is k bits from the double
object's left end. The value of k must be 0 <= k <= 64.
When shifting 32-bit quantities, i makes up bits 32 through 63 of the
double object. The function result is the 32-bit string beginning
with bit 32-k; that is, its leftmost bit is k bits from the double
object's left end. The value of k must be 0 <= k <= 32.
When shifting 16-bit quantities, i makes up bits 16 through 31 of the
double object. The function result is the 16-bit string beginning
with bit 16-k; that is, its leftmost bit is k bits from the double
object's left end. The value of k must be 0 <= k <= 16.
When shifting 8-bit quantities, i makes up bits 8 through 15 of the
double object. The function result is the 8-bit string beginning with
bit 8-k; that is, its leftmost bit is k bits from the double object's
left end. The value of k must be 0 <= k <= 8.
Arguments are not altered in their original storage unless the result
represents the same address as either i or j, as in the Fortran
assignment M = DSHIFTL(M, N, 5).
For more information on storage units, see the Fortran Language
Reference Manual, Volume 3, publication SR-3905.
DSHIFTL is an elemental function. The name of this intrinsic cannot
be passed as an argument.
_dshiftl returns a 64-bit integer result.
DSHIFTL returns a typeless result on UNICOS and UNICOS/mk systems and
an integer result on IRIX systems. The size of the result is the size
of the arguments i and j.
Fortran: The following figure shows a shift of two 64-bit quantities:
|<-- Double quantity shifts left by k bits
127 i 64 63 j 0
|___________________________|___________________________|
|-----k-----|----------result-----------|
A complete list of C/C++ intrinsic functions available on Cray
Research systems is in the Cray C/C++ Reference Manual, publication
SR-2179.
Fortran Language Reference Manual, Volume 3, publication SR-3905
Intrinsic Procedures Reference Manual, publication SR-2138, for the
printed version of this man page.
[ Back ]
|