*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> f90/dshiftr (3)              
Title
Content
Arch
Section
 

Contents


DSHIFTR(3I)					       Last changed: 2-5-98

NAME    [Toc]    [Back]

     _dshiftr, DSHIFTR - Performs a double-object right	shift

SYNOPSIS    [Toc]    [Back]

     C/C++:

     #include <intrinsics.h>
     long _dshiftr (long i, long j, long k);

     Fortran:

     DSHIFTR ([I=]i, [J=]j, [K=]k)

IMPLEMENTATION    [Toc]    [Back]

     C/C++:  UNICOS and	UNICOS/mk systems

     Fortran:  UNICOS, UNICOS/mk, and IRIX systems

STANDARDS    [Toc]    [Back]

     C/C++:  Cray Research extension

     Fortran:  CF90 and	MIPSpro	7 Fortran 90 compiler extension	to Fortran
     90

DESCRIPTION    [Toc]    [Back]

     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
     rotated shift occurs.  The	value of k must	be in the range	of 0
     through 64	for _dshiftr.

C/C++ NOTES
     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	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 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 Fortran Language
     Reference Manual, Volume 3, publication SR-3905.

     DSHIFTR is	an elemental function.	The name of this intrinsic cannot
     be	passed as an argument.

RETURN VALUES    [Toc]    [Back]

     _dshiftr returns a	64-bit integer result.

     DSHIFTR 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.

EXAMPLES    [Toc]    [Back]

     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    [Toc]    [Back]

      
      
     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.
DSHIFTR(3I)					       Last changed: 2-5-98

NAME    [Toc]    [Back]

     _dshiftr, DSHIFTR - Performs a double-object right	shift

SYNOPSIS    [Toc]    [Back]

     C/C++:

     #include <intrinsics.h>
     long _dshiftr (long i, long j, long k);

     Fortran:

     DSHIFTR ([I=]i, [J=]j, [K=]k)

IMPLEMENTATION    [Toc]    [Back]

     C/C++:  UNICOS and	UNICOS/mk systems

     Fortran:  UNICOS, UNICOS/mk, and IRIX systems

STANDARDS    [Toc]    [Back]

     C/C++:  Cray Research extension

     Fortran:  CF90 and	MIPSpro	7 Fortran 90 compiler extension	to Fortran
     90

DESCRIPTION    [Toc]    [Back]

     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
     rotated shift occurs.  The	value of k must	be in the range	of 0
     through 64	for _dshiftr.

C/C++ NOTES
     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	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 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 Fortran Language
     Reference Manual, Volume 3, publication SR-3905.

     DSHIFTR is	an elemental function.	The name of this intrinsic cannot
     be	passed as an argument.

RETURN VALUES    [Toc]    [Back]

     _dshiftr returns a	64-bit integer result.

     DSHIFTR 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.

EXAMPLES    [Toc]    [Back]

     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    [Toc]    [Back]

      
      
     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 ]
 Similar pages
Name OS Title
dshiftl IRIX Performs a double-object left shift
shifta IRIX Performs an arithmetic shift
shiftr IRIX Performs a right shift with zero fill
eoshift IRIX Performs an end-off shift on an array expression
shift IRIX Performs a left circular shift
shiftl IRIX Performs a left shift with zero fill
cshift IRIX Performs a circular shift on an array expression
sem_wait Tru64 Performs (or conditionally performs) a semaphore lock (P1003.1b)
sem_trywait Tru64 Performs (or conditionally performs) a semaphore lock (P1003.1b)
wcstold FreeBSD convert string to float, double or long double
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service