aboutsummaryrefslogtreecommitdiff
path: root/sys/osb/imul32.c
blob: 237bd5fa59c4038ee484c0b482701c58a98a56f4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#define import_spp
#define import_knames
#include <iraf.h>


/* IMUL32 - Multiply two integer values and return the result.  This is 
 * needed to allow e.g. the normal overflow condition to occur for algorithms
 * such as random number generators.
 */
int
IMUL32 (long *a, long *b)
{
    int val = 0;
    int  ia = (int) *a;
    int  ib = (int) *b;


    /*  MACHDEP - Depends on integer overflow behavior for a specific
     *  platform.
     */
    val = ia * ib;

    return ((int) val);
}