dshiftr(3I)
_dshiftr, DSHIFTR - Performs a double-object right shift
As shipped in IRIX 6.5.19. Last changed in IRIX 6.5.19.
NAME _dshiftr, DSHIFTR - Performs a double-object right shift SYNOPSIS C/C++: #include <intrinsics.h> long _dshiftr (long i, long j, long k); Fortran: DSHIFTR ([I=]i, [J=]j, [K=]k) STANDARDS C/C++ extension Fortran extension DESCRIPTION The _dshiftr and DSHIFTR functions perform a double-object right shift. They return a single object. This 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 _dshiftr and DSHIFTR functions return a value generated by a right double-shift of the rightmost k bits of i into the leftmost k bits of j. If both the i and j arguments specify the same word in memory, a circular shift occurs. The value of k must be in the range of 0 through 64 for _dshiftr. NOTES C/C++ Because _dshiftr is an intrinsic function, no externally visible library function is available for it. The compiler generates inline code to produce the result. Fortran 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 rightmost bit is k bits from the double object's right 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 rightmost bit is k bits from the double object's right 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 rightmost bit is k bits from the double object's right 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 rightmost bit is k bits from the double object's right 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 = DSHIFTR(M, N, 5). For more information on storage units, see the MIPSpro Fortran Language Reference Manual, Volume 3. DSHIFTR is an elemental function. The name of this intrinsic cannot be passed as an argument. RETURN VALUES _dshiftr returns a 64-bit integer result. DSHIFTR returns an integer result on IRIX systems. The size of the result is the size of the arguments i and j. EXAMPLES The following figure shows a shift of two 64-bit quantities: Double word shifts right by k bits --> 127 i 64 63 j 0 |___________________________|__________________________| |--------result----------|--------k--------| SEE ALSO MIPSpro Fortran Language Reference Manual, Volume 3