OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-mips64/] [div64.h] - Blame information for rev 1774

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
2
 * This file is subject to the terms and conditions of the GNU General Public
3
 * License.  See the file "COPYING" in the main directory of this archive
4
 * for more details.
5
 */
6
#ifndef _ASM_DIV64_H
7
#define _ASM_DIV64_H
8
 
9
/*
10
 * Don't use this one in new code
11
 */
12
#define do_div64_32(res, high, low, base) ({ \
13
        unsigned int __quot, __mod; \
14
        unsigned long __div; \
15
        unsigned int __low, __high, __base; \
16
        \
17
        __high = (high); \
18
        __low = (low); \
19
        __div = __high; \
20
        __div = __div << 32 | __low; \
21
        __base = (base); \
22
        \
23
        __mod = __div % __base; \
24
        __div = __div / __base; \
25
        \
26
        __quot = __div; \
27
        (res) = __quot; \
28
        __mod; })
29
 
30
/*
31
 * Hey, we're already 64-bit, no
32
 * need to play games..
33
 */
34
#define do_div(n, base) ({ \
35
        unsigned long __quot; \
36
        unsigned int __mod; \
37
        unsigned long __div; \
38
        unsigned int __base; \
39
        \
40
        __div = (n); \
41
        __base = (base); \
42
        \
43
        __mod = __div % __base; \
44
        __quot = __div / __base; \
45
        \
46
        (n) = __quot; \
47
        __mod; })
48
 
49
#endif /* _ASM_DIV64_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.