Shadowrun: Awakened 29 September 2011 - Build 871
Namespaces | Defines | Variables
Legs.hpp File Reference
#include <cat/Platform.hpp>
Include dependency graph for Legs.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  cat

Defines

#define CAT_LEG_COMBA2(A, B, C0, C1, C2)
#define CAT_LEG_COMBA3(A, B, C0, C1, C2)
#define CAT_LEG_DIV(A_hi, A_lo, B, Q_hi, Q_lo)
#define CAT_LEG_MUL(A, B, p_hi, p_lo)
#define CAT_LEG_MULADD(A, B, C, p_hi, p_lo)
#define CAT_LEG_MULADD2(A, B, C, D, p_hi, p_lo)

Variables

const Leg cat::CAT_LEG_LARGEST = ~(Leg)0
const Leg cat::CAT_LEG_MSB = (Leg)1 << (CAT_LEG_BITS - 1)

Define Documentation

#define CAT_LEG_COMBA2 (   A,
  B,
  C0,
  C1,
  C2 
)
Value:
{                                               \
    LegPair _cp = CAT_LEG_PAIRMUL(A, B) + (C0); \
    (C0) = (Leg)_cp;                            \
    _cp = (_cp >> CAT_LEG_BITS) + (C1);         \
    (C1) = (Leg)_cp;                            \
    (C2) = (Leg)(_cp >> CAT_LEG_BITS);          \
}

Definition at line 159 of file Legs.hpp.

#define CAT_LEG_COMBA3 (   A,
  B,
  C0,
  C1,
  C2 
)
Value:
{                                               \
    LegPair _cp = CAT_LEG_PAIRMUL(A, B) + (C0); \
    (C0) = (Leg)_cp;                            \
    _cp = (_cp >> CAT_LEG_BITS) + (C1);         \
    (C1) = (Leg)_cp;                            \
    (C2) += (Leg)(_cp >> CAT_LEG_BITS);         \
}

Definition at line 169 of file Legs.hpp.

#define CAT_LEG_DIV (   A_hi,
  A_lo,
  B,
  Q_hi,
  Q_lo 
)
Value:
{                                                                 \
    LegPair _A = ((LegPair)(A_hi) << CAT_LEG_BITS) | (Leg)(A_lo); \
    LegPair _qt = (LegPair)(_A / (B));                            \
    (Q_hi) = (Leg)(_qt >> CAT_LEG_BITS);                          \
    (Q_lo) = (Leg)_qt;                                            \
}

Definition at line 179 of file Legs.hpp.

#define CAT_LEG_MUL (   A,
  B,
  p_hi,
  p_lo 
)
Value:
{                                          \
    LegPair _mt = CAT_LEG_PAIRMUL(A, B);   \
    (p_lo) = (Leg)_mt;                     \
    (p_hi) = (Leg)(_mt >> CAT_LEG_BITS);   \
}

Definition at line 135 of file Legs.hpp.

#define CAT_LEG_MULADD (   A,
  B,
  C,
  p_hi,
  p_lo 
)
Value:
{                                                     \
    LegPair _mt = CAT_LEG_PAIRMUL(A, B) + (Leg)(C);   \
    (p_lo) = (Leg)_mt;                                \
    (p_hi) = (Leg)(_mt >> CAT_LEG_BITS);              \
}

Definition at line 143 of file Legs.hpp.

#define CAT_LEG_MULADD2 (   A,
  B,
  C,
  D,
  p_hi,
  p_lo 
)
Value:
{                                                                \
    LegPair _mt = CAT_LEG_PAIRMUL(A, B) + (Leg)(C) + (Leg)(D);   \
    (p_lo) = (Leg)_mt;                                           \
    (p_hi) = (Leg)(_mt >> CAT_LEG_BITS);                         \
}

Definition at line 151 of file Legs.hpp.


Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.

GNU Lesser General Public License 3 Sourceforge.net