FreeBSD kernel libkern code
quad.h File Reference
#include <sys/cdefs.h>
#include <sys/types.h>
#include <sys/limits.h>
#include <sys/syslimits.h>
Include dependency graph for quad.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  uu
 

Macros

#define H   _QUAD_HIGHWORD
 
#define L   _QUAD_LOWWORD
 
#define QUAD_BITS   (sizeof(quad_t) * CHAR_BIT)
 
#define LONG_BITS   (sizeof(long) * CHAR_BIT)
 
#define HALF_BITS   (sizeof(long) * CHAR_BIT / 2)
 
#define HHALF(x)   ((x) >> HALF_BITS)
 
#define LHALF(x)   ((x) & ((1 << HALF_BITS) - 1))
 
#define LHUP(x)   ((x) << HALF_BITS)
 

Typedefs

typedef unsigned int qshift_t
 

Functions

quad_t __ashldi3 (quad_t, qshift_t)
 
quad_t __ashrdi3 (quad_t, qshift_t)
 
int __cmpdi2 (quad_t a, quad_t b)
 
quad_t __divdi3 (quad_t a, quad_t b)
 
quad_t __lshrdi3 (quad_t, qshift_t)
 
quad_t __moddi3 (quad_t a, quad_t b)
 
u_quad_t __qdivrem (u_quad_t u, u_quad_t v, u_quad_t *rem)
 
u_quad_t __udivdi3 (u_quad_t a, u_quad_t b)
 
u_quad_t __umoddi3 (u_quad_t a, u_quad_t b)
 
int __ucmpdi2 (u_quad_t a, u_quad_t b)
 

Macro Definition Documentation

#define H   _QUAD_HIGHWORD

Definition at line 75 of file quad.h.

Referenced by __ashldi3(), __ashrdi3(), __cmpdi2(), __lmulq(), __lshrdi3(), __muldi3(), __qdivrem(), and __ucmpdi2().

#define HALF_BITS   (sizeof(long) * CHAR_BIT / 2)

Definition at line 85 of file quad.h.

Referenced by __qdivrem(), and __shl().

#define HHALF (   x)    ((x) >> HALF_BITS)

Definition at line 96 of file quad.h.

Referenced by __lmulq(), and __qdivrem().

#define L   _QUAD_LOWWORD

Definition at line 76 of file quad.h.

Referenced by __ashldi3(), __ashrdi3(), __cmpdi2(), __lmulq(), __lshrdi3(), __muldi3(), __qdivrem(), __ucmpdi2(), and bcmp().

#define LHALF (   x)    ((x) & ((1 << HALF_BITS) - 1))

Definition at line 97 of file quad.h.

Referenced by __lmulq(), __qdivrem(), and __shl().

#define LHUP (   x)    ((x) << HALF_BITS)

Definition at line 98 of file quad.h.

Referenced by __lmulq().

#define LONG_BITS   (sizeof(long) * CHAR_BIT)

Definition at line 84 of file quad.h.

Referenced by __ashldi3(), __ashrdi3(), and __lshrdi3().

#define QUAD_BITS   (sizeof(quad_t) * CHAR_BIT)

Definition at line 83 of file quad.h.

Referenced by __ashldi3(), __ashrdi3(), and __lshrdi3().

Typedef Documentation

typedef unsigned int qshift_t

Definition at line 100 of file quad.h.

Function Documentation

quad_t __ashldi3 ( quad_t  ,
qshift_t   
)

Definition at line 44 of file ashldi3.c.

References H, L, LONG_BITS, uu::q, QUAD_BITS, and uu::ul.

quad_t __ashrdi3 ( quad_t  ,
qshift_t   
)

Definition at line 43 of file ashrdi3.c.

References H, L, LONG_BITS, uu::q, QUAD_BITS, uu::sl, and uu::ul.

int __cmpdi2 ( quad_t  a,
quad_t  b 
)

Definition at line 45 of file cmpdi2.c.

References H, L, uu::q, uu::sl, and uu::ul.

quad_t __divdi3 ( quad_t  a,
quad_t  b 
)

Definition at line 44 of file divdi3.c.

References __qdivrem(), and uu::uq.

Here is the call graph for this function:

quad_t __lshrdi3 ( quad_t  ,
qshift_t   
)

Definition at line 43 of file lshrdi3.c.

References H, L, LONG_BITS, uu::q, QUAD_BITS, and uu::ul.

quad_t __moddi3 ( quad_t  a,
quad_t  b 
)

Definition at line 46 of file moddi3.c.

References __qdivrem().

Here is the call graph for this function:

u_quad_t __qdivrem ( u_quad_t  u,
u_quad_t  v,
u_quad_t *  rem 
)

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:

int __ucmpdi2 ( u_quad_t  a,
u_quad_t  b 
)

Definition at line 44 of file ucmpdi2.c.

References H, L, uu::ul, and uu::uq.

u_quad_t __udivdi3 ( u_quad_t  a,
u_quad_t  b 
)

Definition at line 43 of file udivdi3.c.

References __qdivrem().

Here is the call graph for this function:

u_quad_t __umoddi3 ( u_quad_t  a,
u_quad_t  b 
)

Definition at line 43 of file umoddi3.c.

References __qdivrem().

Here is the call graph for this function: