FreeBSD kernel libkern code
qdivrem.c File Reference
#include <sys/cdefs.h>
#include <libkern/quad.h>
Include dependency graph for qdivrem.c:

Go to the source code of this file.

Macros

#define B   (1 << HALF_BITS) /* digit base */
 
#define COMBINE(a, b)   (((u_long)(a) << HALF_BITS) | (b))
 

Typedefs

typedef u_long digit
 

Functions

 __FBSDID ("$BSDSUniX$")
 
static void __shl (register digit *p, register int len, register int sh)
 
u_quad_t __qdivrem (u_quad_t uq, u_quad_t vq, u_quad_t *arq)
 

Macro Definition Documentation

#define B   (1 << HALF_BITS) /* digit base */

Definition at line 44 of file qdivrem.c.

Referenced by __qdivrem().

#define COMBINE (   a,
 
)    (((u_long)(a) << HALF_BITS) | (b))

Definition at line 47 of file qdivrem.c.

Referenced by __qdivrem().

Typedef Documentation

typedef u_long digit

Definition at line 53 of file qdivrem.c.

Function Documentation

__FBSDID ( "$BSDSUniX$"  )
u_quad_t __qdivrem ( u_quad_t  uq,
u_quad_t  vq,
u_quad_t *  arq 
)

Definition at line 80 of file qdivrem.c.

References __shl(), B, COMBINE, H, HALF_BITS, HHALF, L, LHALF, uu::q, uu::ul, uu::uq, and v1.

Referenced by __divdi3(), __moddi3(), __udivdi3(), and __umoddi3().

Here is the call graph for this function:

Here is the caller graph for this function:

static void __shl ( register digit p,
register int  len,
register int  sh 
)
static

Definition at line 62 of file qdivrem.c.

References HALF_BITS, and LHALF.

Referenced by __qdivrem().

Here is the caller graph for this function: