(C) 1998 AROS - The Amiga Research OS


NAME
#include <proto/utility.h>

QUAD SMult64 (arg1 , arg2)

LOCATION
In UtilityBase at offset 33

SYNOPSIS
LONG arg1
LONG arg2

FUNCTION
Compute the signed 64-bit product of arg1 * arg2.

INPUTS
arg1, arg2 - 32 bit signed numbers.

RESULT
arg1 * arg2

EXAMPLE

SEE ALSO
utility/ SMult32(), utility/ UMult32(), utility/ UMult64()

NOTES
For m68k assembly programmers, QUADs are returned in D0:D1 (with the high 32 bits in D0).

The utility.library math functions are unlike all other utility functions in that they don't require the library base to be loaded in register A6, and they also save the values of the address registers A0/A1.

This function is mainly to support assembly programers, and is probably of limited use to higher-level language programmers.

BUGS

INTERNALS
Actually handled in config/$(KERNEL)/utility_math.s

This is essentially SMult32(), but with the code to calculate the product of the high 32 bits of the multiplicands.

In fact all that is added is the 2^32 * ac term (see docs for SMult32().)

HISTORY
20.10.1998 hkiel
Amiga Research OS
20.08.1997 digulla
Polish.

Renamed utility_intern.h to intern.h.

03.02.1997 ldp
Changed <proto/*_protos.h> to <proto/*.h>
02.02.1997 iaint
Some bug fixes, math functions and native Amiga support
27.01.1997 ldp
Polish
10.12.1996 aros
Moved #include into first column to allow makedepend to see it.
24.10.1996 aros
Use proper Amiga datatypes (eg: ULONG not unsigned long)
24.10.1996 aros
Use the official AROS macros over the __AROS versions.
31.08.1996 aros
Merged in/modified for FreeBSD.