MFMv2.0.10
Movable Feast Machine Simulator 2.0.10
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Types | Protected Member Functions
MFM::P1Atom< PC > Class Template Reference
Inheritance diagram for MFM::P1Atom< PC >:
MFM::Atom< CoreConfig< P1Atom< PC >, PC > >

Public Types

enum  { ATOM_CATEGORY = 1 }
 

Public Member Functions

bool IsSane () const
 
bool HasBeenRepaired ()
 
u32 GetBitCount () const
 
u32 GetType () const
 
void WriteStateBits (ByteSink &ostream) const
 
void ReadStateBits (const char *stateStr)
 
void ReadStateBits (const BitVector< BITS > &bv)
 
 P1Atom (u32 type, u32 longc, u32 shortc, u32 statec)
 
void InitAtom (u32 type, u32 longc, u32 shortc, u32 statec)
 
u32 GetBitsAllocated () const
 
u32 GetBitsAllocatedExceptState () const
 
u32 GetStateBitCount () const
 
void SetStateBitCount (u32 state)
 
u32 GetStateField (u32 stateIndex, u32 stateWidth) const
 
void SetStateField (u32 stateIndex, u32 stateWidth, u32 value)
 
u32 GetLongBondCount () const
 
void SetLongBondCount (u32 count)
 
u32 GetShortBondCount () const
 
void SetShortBondCount (u32 count)
 
u32 GetLongBond (u32 index) const
 
void SetLongBond (u32 index, u8 value)
 
u32 GetShortBond (u32 index) const
 
void SetShortBond (u32 index, u8 value)
 
void ReadVariableBodyInto (u32 *arr) const
 
void WriteVariableBodyFrom (u32 *arr)
 
void PrintBits (ByteSink &ostream) const
 
void Print (ByteSink &ostream) const
 
bool GetLongBond (u32 index, SPoint &pt) const
 
bool GetShortBond (u32 index, SPoint &pt) const
 
bool SetLongBond (u32 index, const SPoint &pt)
 
bool SetShortBond (u32 index, const SPoint &pt)
 
void RemoveLongBond (u32 index)
 
void RemoveShortBond (u32 index)
 
P1Atomoperator= (const P1Atom &rhs)
 
- Public Member Functions inherited from MFM::Atom< CoreConfig< P1Atom< PC >, PC > >
bool IsSane () const
 
bool HasBeenRepaired ()
 
u32 GetType () const
 
void Print (ByteSink &ostream) const
 
void WriteStateBits (ByteSink &ostream) const
 
void ReadStateBits (const char *hexStr)
 
void ReadStateBits (const BitVector< BPA > &bv)
 
void WriteBits (ByteSink &ostream) const
 
void ReadBits (const char *hexStr)
 
void XRay (Random &rand, u32 bitOdds)
 
bool operator== (const Atom &rhs) const
 
bool operator!= (const Atom &rhs) const
 

Protected Types

typedef MDist< 4 > MDist4
 
typedef CoreConfig< P1Atom< PC >
, PC > 
CC
 

Protected Member Functions

void SetType (u32 type, u32 width)
 

Additional Inherited Members

- Static Public Member Functions inherited from MFM::Atom< CoreConfig< P1Atom< PC >, PC > >
static bool IsType (const T &atom, u32 type)
 
static bool IsSameType (const T &atom, const T &other)
 
- Protected Attributes inherited from MFM::Atom< CoreConfig< P1Atom< PC >, PC > >
BitVector< BPA > m_bits
 

Member Function Documentation

template<class PC >
bool MFM::P1Atom< PC >::GetLongBond ( u32  index,
SPoint pt 
) const

Fills pt with the long bond location in index and returns true, if atom has at least index+1 long bonds. Otherwise returns false and pt is unchanged

template<class PC >
bool MFM::P1Atom< PC >::GetShortBond ( u32  index,
SPoint pt 
) const

Fills pt with the short bond location in index and returns true, if atom has at least index+1 short bonds. Otherwise returns false and pt is unchanged

template<class PC >
u32 MFM::P1Atom< PC >::GetStateField ( u32  stateIndex,
u32  stateWidth 
) const
inline

Read stateWidth state bits starting at stateIndex, which counts toward the right with 0 meaning the leftmost state bit.

template<class PC >
bool MFM::P1Atom< PC >::SetLongBond ( u32  index,
const SPoint pt 
)

Stores pt in the long bond location index and returns true, if atom has at least index+1 long bonds, and pt is representable as a long bond. Otherwise returns false and *this is unchanged

template<class PC >
bool MFM::P1Atom< PC >::SetShortBond ( u32  index,
const SPoint pt 
)

Stores pt in the short bond location in index and returns true, if atom has at least index+1 short bonds, and pt is representable as a short bond. Otherwise returns false and *this is unchanged

template<class PC >
void MFM::P1Atom< PC >::SetStateField ( u32  stateIndex,
u32  stateWidth,
u32  value 
)
inline

Store value into stateWidth state bits starting at stateIndex, which counts toward the right with 0 meaning the leftmost state bit.


The documentation for this class was generated from the following files: