| Q D E V _ H L P _ M U L U 3 2 X 3 2 ( )
| | | | | SOURCE: qdev_macros.txt 1.16 (12/09/2014) English INDEP - PUBLIC
----------------------------------------------------------------------------
NAME
QDEV_HLP_MULU32X32() - Multiplies two 32 bit integers.
SYNOPSIS
QDEV_HLP_MULU32X32(a, b, vuq);
QDEV_HLP_MULU32X32([ULONG], [ULONG], [VUQUAD]);
FUNCTION
This macro allows to multiply two 32 bit integers and
write the result into real or virtual 64 bit datatype.
INPUTS
a - 32 bit operand.
b - 32 bit operand.
vuq - Direct(non-pointer) 64 bit result holder.
RETURNS
No output.
BASES
None.
NOTES
This macro is totally CPU indpendent and in many cases
at least two times faster than compiler wrapped code.
SEE ALSO
QDEV_HLP_N_MULUXXX10()
EXAMPLE
#include <stdio.h>
#include <qdev.h>
int main(void)
{
ULONG a = 2000000000;
ULONG b = 4;
VUQUAD vuq;
QDEV_HLP_MULU32X32(a, b, vuq);
printf("%qd\n", *(UQUAD *)&vuq);
return 0;
}
BUGS
None known.
----------------------------------------------------------------------------
| |
| |