Developers.Hash.TigerTree.Documenting: Difference between revisions

From Shareaza Wiki
Jump to navigation Jump to search
(Importing page from Tikiwiki)
 
m (1 revision)
 

Latest revision as of 20:09, 20 June 2009

Public

<source lang="c"> void SetupAndAllocate(DWORD nHeight, QWORD nLength); void SetupParameters(QWORD nLength); void Clear(); void Serialize(CArchive& ar); DWORD GetSerialSize() const; </source>

<source lang="c"> BOOL GetRoot(TIGEROOT* pTiger) const; CString RootToString() const; void Assume(CTigerTree* pSource); </source>

<source lang="c"> void BeginFile(DWORD nHeight, QWORD nLength); void AddToFile(LPCVOID pInput, DWORD nLength); BOOL FinishFile(); </source>

<source lang="c"> void BeginBlockTest(); void AddToTest(LPCVOID pInput, DWORD nLength); BOOL FinishBlockTest(DWORD nBlock); </source>

<source lang="c"> BOOL ToBytes(BYTE** pOutput, DWORD* pnOutput, DWORD nHeight = 0); BOOL FromBytes(BYTE* pOutput, DWORD nOutput, DWORD nHeight, QWORD nLength); BOOL CheckIntegrity(); void Dump(); </source>

Inlines

<source lang="c"> inline BOOL IsAvailable() const { return m_pNode != NULL; } inline DWORD GetHeight() const { return m_nHeight; } inline DWORD GetBlockLength() const { return 1024 * m_nBlockCount; } inline DWORD GetBlockCount() const { return m_nBaseUsed; } </source>

Attributes

<source lang="c"> DWORD m_nHeight; CTigerNode* m_pNode; DWORD m_nNodeCount; </source>

Processing data, and implementation

<source lang="c"> // Processing Data protected: DWORD m_nNodeBase; DWORD m_nNodePos; DWORD m_nBaseUsed; DWORD m_nBlockCount; DWORD m_nBlockPos; CTigerNode* m_pStackBase; CTigerNode* m_pStackTop; protected: static WORD64 m_pTable[4*256];

// Implementation protected: inline void Collapse(); inline void BlocksToNode(); inline void Tiger(LPCVOID pInput, WORD64 nInput, WORD64* pOutput,

   WORD64* pInput1 = NULL, WORD64* pInput2 = NULL);

inline void Tiger(const WORD64* str, WORD64* state); </source>