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

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

Contents


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

NAME    [Toc]    [Back]

     _dshiftl, DSHIFTL - Performs a double-object left shift

SYNOPSIS    [Toc]    [Back]

     C/C++:

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

     Fortran:

     DSHIFTL ([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 _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.

RETURN VALUES    [Toc]    [Back]

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

EXAMPLES    [Toc]    [Back]

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

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

NAME    [Toc]    [Back]

     _dshiftl, DSHIFTL - Performs a double-object left shift

SYNOPSIS    [Toc]    [Back]

     C/C++:

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

     Fortran:

     DSHIFTL ([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 _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.

RETURN VALUES    [Toc]    [Back]

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

EXAMPLES    [Toc]    [Back]

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

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
dshiftr IRIX Performs a double-object right shift
shift IRIX Performs a left circular shift
shiftl IRIX Performs a left shift with zero fill
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
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)
wcstof FreeBSD convert string to float, double or long double
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service