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

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

Contents


INT_MULT_UPPER(3I)				       Last changed: 2-6-98

NAME    [Toc]    [Back]

     _int_mult_upper, INT_MULT_UPPER - Multiplies integers and returns the
     uppermost bits

SYNOPSIS    [Toc]    [Back]

     C/C++:

     #include <intrinsics.h>
     unsigned long _int_mult_upper (long i, long j)

     Fortran:

     INT_MULT_UPPER ([I=]i, [J=]j)

IMPLEMENTATION    [Toc]    [Back]

     C/C++:  UNICOS/mk systems and UNICOS systems with IEEE floating-point
     hardware

     Fortran:  UNICOS/mk systems, IRIX systems,	and CRAY T90 systems that
     support IEEE floating-point arithmetic

STANDARDS    [Toc]    [Back]

     C/C++:  Cray Research extension

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

     IEEE Standard for Binary Floating-point Arithmetic

DESCRIPTION    [Toc]    [Back]

     This intrinsic function is	not strictly related to	IEEE arithmetic.
     It	takes advantage	of a hardware instruction on UNICOS/mk systems and
     on	CRAY T90 systems that support IEEE floating-point arithmetic.  This
     hardware instruction multiplies two 64-bit	unsigned integers and
     returns the upper (leftmost) 64 bits of the 128-bit unsigned result.

C/C++ NOTES
     Because _int_mult_upper is	an intrinsic function, no externally
     visible library function is available for it.  The	compiler generates
     inline code to produce the	result.

FORTRAN	NOTES
     INT_MULT_UPPER accepts the	following arguments:

     i	  On UNICOS/mk systems and on CRAY T90 systems that support IEEE
	  floating-point arithmetic, i must be of type INTEGER(KIND=8).	 On
	  IRIX systems,	it can also be of type INTEGER(KIND=4).	 It can	be
	  a scalar or an array.

     j	  On UNICOS/mk systems and on CRAY T90 systems that support IEEE
	  floating-point arithmetic, j must be of type INTEGER(KIND=8).	 On
	  IRIX systems,	it can also be of type INTEGER(KIND=4).	 It can	be
	  a scalar or an array.	 If it is an array, it must be of the same
	  shape	as i.

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

     If	i and j	are scalar, the	result is a scalar.

     If	i is an	array and j is scalar, the result is an	array of the same
     shape as i	in which each element is the result of the product of i
								       i
     and j as described	previously.

     If	i is scalar and	j is an	array, the result is an	array of the same
     shape as j	and in which each element is the result	of the product of i
     and j  as described previously.
	  i

     If	both i and j are arrays, the result is an array	of the same shape
     as	i and in which each element is the result of the product of
     i	and j
      i	     i
     as	described previously.

RETURN VALUES    [Toc]    [Back]

     _int_mult_upper returns a 64-bit result, which is the upper (leftmost)
     64	bits of	the 128-bit result of the product of i and j.

     On	UNICOS/mk systems and on CRAY T90 systems that support IEEE
     floating-point arithmetic,	INT_MULT_UPPER returns the upper (leftmost)
     64	bits of	the 128-bit result of the product of i and j.

     On	IRIX systems, INT_MULT_UPPER returns a 64-bit integer result if	at
     least one of the arguments	is a 64-bit integer; the 32-bit	argument is
     converted to a 64-bit integer.  If	both i and j are INTEGER(KIND=4)
     arguments,	the result is the upper	(leftmost) 32 bits of the 64-bit
     result of the product of i	and j.

EXAMPLES    [Toc]    [Back]

     Fortran example:

	  ! Assume the following code is executed on a CRAY T90	IEEE.

	  INTEGER  ii(128), jj,	result(128)
	  ...			  ! Compute II and J.
	  result = INT_MULT_UPPER(ii, jj)

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.

     Intrinsic Procedures Reference Manual, publication	SR-2138, for the
     printed version of	this man page.
INT_MULT_UPPER(3I)				       Last changed: 2-6-98

NAME    [Toc]    [Back]

     _int_mult_upper, INT_MULT_UPPER - Multiplies integers and returns the
     uppermost bits

SYNOPSIS    [Toc]    [Back]

     C/C++:

     #include <intrinsics.h>
     unsigned long _int_mult_upper (long i, long j)

     Fortran:

     INT_MULT_UPPER ([I=]i, [J=]j)

IMPLEMENTATION    [Toc]    [Back]

     C/C++:  UNICOS/mk systems and UNICOS systems with IEEE floating-point
     hardware

     Fortran:  UNICOS/mk systems, IRIX systems,	and CRAY T90 systems that
     support IEEE floating-point arithmetic

STANDARDS    [Toc]    [Back]

     C/C++:  Cray Research extension

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

     IEEE Standard for Binary Floating-point Arithmetic

DESCRIPTION    [Toc]    [Back]

     This intrinsic function is	not strictly related to	IEEE arithmetic.
     It	takes advantage	of a hardware instruction on UNICOS/mk systems and
     on	CRAY T90 systems that support IEEE floating-point arithmetic.  This
     hardware instruction multiplies two 64-bit	unsigned integers and
     returns the upper (leftmost) 64 bits of the 128-bit unsigned result.

C/C++ NOTES
     Because _int_mult_upper is	an intrinsic function, no externally
     visible library function is available for it.  The	compiler generates
     inline code to produce the	result.

FORTRAN	NOTES
     INT_MULT_UPPER accepts the	following arguments:

     i	  On UNICOS/mk systems and on CRAY T90 systems that support IEEE
	  floating-point arithmetic, i must be of type INTEGER(KIND=8).	 On
	  IRIX systems,	it can also be of type INTEGER(KIND=4).	 It can	be
	  a scalar or an array.

     j	  On UNICOS/mk systems and on CRAY T90 systems that support IEEE
	  floating-point arithmetic, j must be of type INTEGER(KIND=8).	 On
	  IRIX systems,	it can also be of type INTEGER(KIND=4).	 It can	be
	  a scalar or an array.	 If it is an array, it must be of the same
	  shape	as i.

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

     If	i and j	are scalar, the	result is a scalar.

     If	i is an	array and j is scalar, the result is an	array of the same
     shape as i	in which each element is the result of the product of i
								       i
     and j as described	previously.

     If	i is scalar and	j is an	array, the result is an	array of the same
     shape as j	and in which each element is the result	of the product of i
     and j  as described previously.
	  i

     If	both i and j are arrays, the result is an array	of the same shape
     as	i and in which each element is the result of the product of
     i	and j
      i	     i
     as	described previously.

RETURN VALUES    [Toc]    [Back]

     _int_mult_upper returns a 64-bit result, which is the upper (leftmost)
     64	bits of	the 128-bit result of the product of i and j.

     On	UNICOS/mk systems and on CRAY T90 systems that support IEEE
     floating-point arithmetic,	INT_MULT_UPPER returns the upper (leftmost)
     64	bits of	the 128-bit result of the product of i and j.

     On	IRIX systems, INT_MULT_UPPER returns a 64-bit integer result if	at
     least one of the arguments	is a 64-bit integer; the 32-bit	argument is
     converted to a 64-bit integer.  If	both i and j are INTEGER(KIND=4)
     arguments,	the result is the upper	(leftmost) 32 bits of the 64-bit
     result of the product of i	and j.

EXAMPLES    [Toc]    [Back]

     Fortran example:

	  ! Assume the following code is executed on a CRAY T90	IEEE.

	  INTEGER  ii(128), jj,	result(128)
	  ...			  ! Compute II and J.
	  result = INT_MULT_UPPER(ii, jj)

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.

     Intrinsic Procedures Reference Manual, publication	SR-2138, for the
     printed version of	this man page.
[ Back ]
 Similar pages
Name OS Title
bit_size IRIX Returns the number of bits in an integer in the bit manipulation model
ipxfwstopsig IRIX Returns part of the lower bits of signal number that terminates child process
l3tol IRIX convert between 3-byte integers and long integers
xfpt IRIX multiplies a point by the current matrix in feedback mode
_leb128_unsigned_encode64 IRIX encode leb128 integers
pxfucompare IRIX Compares unsigned integers
_leb128_unsigned_decode64 IRIX decode leb128 integers
abs Tru64 Computes absolute value and division of integers
BN_sub_word Tru64 Arithmetic functions on BIGNUMs with integers
labs Tru64 Computes absolute value and division of integers
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service