Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Typedefs
soft-fp.h File Reference
#include <asm/sfp-machine.h>
#include <endian.h>
#include <math-emu/op-1.h>
#include <math-emu/op-2.h>
#include <math-emu/op-4.h>
#include <math-emu/op-8.h>
#include <math-emu/op-common.h>
#include <stdlib/longlong.h>

Go to the source code of this file.

Macros

#define _FP_WORKBITS   3
 
#define _FP_WORK_LSB   ((_FP_W_TYPE)1 << 3)
 
#define _FP_WORK_ROUND   ((_FP_W_TYPE)1 << 2)
 
#define _FP_WORK_GUARD   ((_FP_W_TYPE)1 << 1)
 
#define _FP_WORK_STICKY   ((_FP_W_TYPE)1 << 0)
 
#define FP_RND_NEAREST   0
 
#define FP_RND_ZERO   1
 
#define FP_RND_PINF   2
 
#define FP_RND_MINF   3
 
#define FP_ROUNDMODE   FP_RND_NEAREST
 
#define FP_EX_INVALID   0
 
#define FP_EX_INVALID_SNAN   0
 
#define FP_EX_INVALID_ISI   0
 
#define FP_EX_INVALID_IDI   0
 
#define FP_EX_INVALID_ZDZ   0
 
#define FP_EX_INVALID_IMZ   0
 
#define FP_EX_OVERFLOW   0
 
#define FP_EX_UNDERFLOW
 
#define FP_EX_DIVZERO   0
 
#define FP_EX_INEXACT   0
 
#define FP_EX_DENORM   0
 
#define FP_DECL_EX   int _fex = 0
 
#define FP_INIT_ROUNDMODE   do {} while (0)
 
#define FP_HANDLE_EXCEPTIONS   do {} while (0)
 
#define FP_DENORM_ZERO   0
 
#define FP_INHIBIT_RESULTS   0
 
#define FP_TRAPPING_EXCEPTIONS   0
 
#define FP_SET_EXCEPTION(ex)   _fex |= (ex)
 
#define FP_UNSET_EXCEPTION(ex)   _fex &= ~(ex)
 
#define FP_CUR_EXCEPTIONS   (_fex)
 
#define FP_CLEAR_EXCEPTIONS   _fex = 0
 
#define _FP_ROUND_NEAREST(wc, X)
 
#define _FP_ROUND_ZERO(wc, X)   0
 
#define _FP_ROUND_PINF(wc, X)
 
#define _FP_ROUND_MINF(wc, X)
 
#define _FP_ROUND(wc, X)
 
#define FP_CLS_NORMAL   0
 
#define FP_CLS_ZERO   1
 
#define FP_CLS_INF   2
 
#define FP_CLS_NAN   3
 
#define _FP_CLS_COMBINE(x, y)   (((x) << 2) | (y))
 
#define UWtype   _FP_W_TYPE
 
#define W_TYPE_SIZE   _FP_W_TYPE_SIZE
 

Typedefs

typedef int SItype __attribute__ ((mode(SI)))
 

Macro Definition Documentation

#define _FP_CLS_COMBINE (   x,
  y 
)    (((x) << 2) | (y))

Definition at line 181 of file soft-fp.h.

#define _FP_ROUND (   wc,
  X 
)
Value:
do { \
if (_FP_FRAC_LOW_##wc(X) & 7) \
FP_SET_EXCEPTION(FP_EX_INEXACT); \
switch (FP_ROUNDMODE) \
{ \
_FP_ROUND_NEAREST(wc,X); \
break; \
case FP_RND_ZERO: \
_FP_ROUND_ZERO(wc,X); \
break; \
case FP_RND_PINF: \
_FP_ROUND_PINF(wc,X); \
break; \
case FP_RND_MINF: \
_FP_ROUND_MINF(wc,X); \
break; \
} \
} while (0)

Definition at line 155 of file soft-fp.h.

#define _FP_ROUND_MINF (   wc,
  X 
)
Value:
do { \
if (X##_s && (_FP_FRAC_LOW_##wc(X) & 7)) \
_FP_FRAC_ADDI_##wc(X, _FP_WORK_LSB); \
} while (0)

Definition at line 149 of file soft-fp.h.

#define _FP_ROUND_NEAREST (   wc,
  X 
)
Value:
do { \
if ((_FP_FRAC_LOW_##wc(X) & 15) != _FP_WORK_ROUND) \
_FP_FRAC_ADDI_##wc(X, _FP_WORK_ROUND); \
} while (0)

Definition at line 135 of file soft-fp.h.

#define _FP_ROUND_PINF (   wc,
  X 
)
Value:
do { \
if (!X##_s && (_FP_FRAC_LOW_##wc(X) & 7)) \
_FP_FRAC_ADDI_##wc(X, _FP_WORK_LSB); \
} while (0)

Definition at line 143 of file soft-fp.h.

#define _FP_ROUND_ZERO (   wc,
  X 
)    0

Definition at line 141 of file soft-fp.h.

#define _FP_WORK_GUARD   ((_FP_W_TYPE)1 << 1)

Definition at line 37 of file soft-fp.h.

#define _FP_WORK_LSB   ((_FP_W_TYPE)1 << 3)

Definition at line 35 of file soft-fp.h.

#define _FP_WORK_ROUND   ((_FP_W_TYPE)1 << 2)

Definition at line 36 of file soft-fp.h.

#define _FP_WORK_STICKY   ((_FP_W_TYPE)1 << 0)

Definition at line 38 of file soft-fp.h.

#define _FP_WORKBITS   3

Definition at line 34 of file soft-fp.h.

#define FP_CLEAR_EXCEPTIONS   _fex = 0

Definition at line 132 of file soft-fp.h.

#define FP_CLS_INF   2

Definition at line 178 of file soft-fp.h.

#define FP_CLS_NAN   3

Definition at line 179 of file soft-fp.h.

#define FP_CLS_NORMAL   0

Definition at line 176 of file soft-fp.h.

#define FP_CLS_ZERO   1

Definition at line 177 of file soft-fp.h.

#define FP_CUR_EXCEPTIONS   (_fex)

Definition at line 129 of file soft-fp.h.

#define FP_DECL_EX   int _fex = 0

Definition at line 94 of file soft-fp.h.

#define FP_DENORM_ZERO   0

Definition at line 107 of file soft-fp.h.

#define FP_EX_DENORM   0

Definition at line 86 of file soft-fp.h.

#define FP_EX_DIVZERO   0

Definition at line 80 of file soft-fp.h.

#define FP_EX_INEXACT   0

Definition at line 83 of file soft-fp.h.

#define FP_EX_INVALID   0

Definition at line 52 of file soft-fp.h.

#define FP_EX_INVALID_IDI   0

Definition at line 63 of file soft-fp.h.

#define FP_EX_INVALID_IMZ   0

Definition at line 71 of file soft-fp.h.

#define FP_EX_INVALID_ISI   0

Definition at line 59 of file soft-fp.h.

#define FP_EX_INVALID_SNAN   0

Definition at line 55 of file soft-fp.h.

#define FP_EX_INVALID_ZDZ   0

Definition at line 67 of file soft-fp.h.

#define FP_EX_OVERFLOW   0

Definition at line 74 of file soft-fp.h.

#define FP_EX_UNDERFLOW

Definition at line 77 of file soft-fp.h.

#define FP_HANDLE_EXCEPTIONS   do {} while (0)

Definition at line 102 of file soft-fp.h.

#define FP_INHIBIT_RESULTS   0

Definition at line 116 of file soft-fp.h.

#define FP_INIT_ROUNDMODE   do {} while (0)

Definition at line 98 of file soft-fp.h.

#define FP_RND_MINF   3

Definition at line 44 of file soft-fp.h.

#define FP_RND_NEAREST   0

Definition at line 41 of file soft-fp.h.

#define FP_RND_PINF   2

Definition at line 43 of file soft-fp.h.

#define FP_RND_ZERO   1

Definition at line 42 of file soft-fp.h.

#define FP_ROUNDMODE   FP_RND_NEAREST

Definition at line 46 of file soft-fp.h.

#define FP_SET_EXCEPTION (   ex)    _fex |= (ex)

Definition at line 123 of file soft-fp.h.

#define FP_TRAPPING_EXCEPTIONS   0

Definition at line 120 of file soft-fp.h.

#define FP_UNSET_EXCEPTION (   ex)    _fex &= ~(ex)

Definition at line 126 of file soft-fp.h.

#define UWtype   _FP_W_TYPE

Definition at line 190 of file soft-fp.h.

#define W_TYPE_SIZE   _FP_W_TYPE_SIZE

Definition at line 191 of file soft-fp.h.

Typedef Documentation

typedef unsigned int UDItype __attribute__((mode(DI)))

Definition at line 193 of file soft-fp.h.