diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2017-06-30 20:13:51 +0200 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2017-07-26 10:12:43 +0200 |
commit | f76c82403888bb498973ec974dbfd20e4edb02fe (patch) | |
tree | be0cb6c112d9d9fb46387fbd114727510197ddec /nxcomp/IntCache.h | |
parent | 9193d11eeeea933e293acd5e0f03fa4e9887186b (diff) | |
download | nx-libs-f76c82403888bb498973ec974dbfd20e4edb02fe.tar.gz nx-libs-f76c82403888bb498973ec974dbfd20e4edb02fe.tar.bz2 nx-libs-f76c82403888bb498973ec974dbfd20e4edb02fe.zip |
nxcomp: Switch to autoreconf.
Diffstat (limited to 'nxcomp/IntCache.h')
-rw-r--r-- | nxcomp/IntCache.h | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/nxcomp/IntCache.h b/nxcomp/IntCache.h deleted file mode 100644 index 69c522325..000000000 --- a/nxcomp/IntCache.h +++ /dev/null @@ -1,119 +0,0 @@ -/**************************************************************************/ -/* */ -/* Copyright (c) 2001, 2011 NoMachine (http://www.nomachine.com) */ -/* Copyright (c) 2008-2014 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> */ -/* Copyright (c) 2014-2016 Ulrich Sibiller <uli42@gmx.de> */ -/* Copyright (c) 2014-2016 Mihai Moldovan <ionic@ionic.de> */ -/* Copyright (c) 2011-2016 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>*/ -/* Copyright (c) 2015-2016 Qindel Group (http://www.qindel.com) */ -/* */ -/* NXCOMP, NX protocol compression and NX extensions to this software */ -/* are copyright of the aforementioned persons and companies. */ -/* */ -/* Redistribution and use of the present software is allowed according */ -/* to terms specified in the file LICENSE.nxcomp which comes in the */ -/* source distribution. */ -/* */ -/* All rights reserved. */ -/* */ -/* NOTE: This software has received contributions from various other */ -/* contributors, only the core maintainers and supporters are listed as */ -/* copyright holders. Please contact us, if you feel you should be listed */ -/* as copyright holder, as well. */ -/* */ -/**************************************************************************/ - -#ifndef IntCache_H -#define IntCache_H - -class IntCache -{ - public: - - IntCache(unsigned int size); - - ~IntCache() - { - delete [] buffer_; - } - - unsigned int getSize() const - { - return length_; - } - - int lookup(unsigned int &value, unsigned int &index, - unsigned int mask, unsigned int &sameDiff); - - // - // This can be inlined as it is only - // called by decodeCachedValue(). - // - - unsigned int get(unsigned int index) - { - unsigned int result = buffer_[index]; - - if (index != 0) - { - // - // Using a memmove() appears to be slower. - // - // unsigned int target = index >> 1; - // - // memmove((char *) &buffer_[target + 1], (char *) &buffer_[target], - // sizeof(unsigned int) * (index - target)); - // - // buffer_[target] = result; - // - - unsigned int i = index; - - unsigned int target = (i >> 1); - - do - { - buffer_[i] = buffer_[i - 1]; - - i--; - } - while (i > target); - - buffer_[target] = result; - } - - return result; - } - - void insert(unsigned int &value, unsigned int mask); - - void push(unsigned int &value, unsigned int mask); - - void dump(); - - unsigned int getLastDiff(unsigned int mask) const - { - return lastDiff_; - } - - unsigned int getBlockSize(unsigned int bits) const - { - if (bits > 0) - { - return (predictedBlockSize_ < bits ? predictedBlockSize_ : bits); - } - - return predictedBlockSize_; - } - - private: - - unsigned int size_; - unsigned int length_; - unsigned int *buffer_; - unsigned int lastDiff_; - unsigned int lastValueInserted_; - unsigned int predictedBlockSize_; -}; - -#endif /* IntCache_H */ |