| Index: tools/telemetry/third_party/gsutilz/third_party/crcmod/README
|
| diff --git a/tools/telemetry/third_party/gsutilz/third_party/crcmod/README b/tools/telemetry/third_party/gsutilz/third_party/crcmod/README
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..47a60a79b34438f4c6959f3d12d56f0ec7d4a6a2
|
| --- /dev/null
|
| +++ b/tools/telemetry/third_party/gsutilz/third_party/crcmod/README
|
| @@ -0,0 +1,124 @@
|
| +===========================
|
| +crcmod for Calculating CRCs
|
| +===========================
|
| +
|
| +The software in this package is a Python module for generating objects that
|
| +compute the Cyclic Redundancy Check (CRC). There is no attempt in this package
|
| +to explain how the CRC works. There are a number of resources on the web that
|
| +give a good explanation of the algorithms. Just do a Google search for "crc
|
| +calculation" and browse till you find what you need. Another resource can be
|
| +found in chapter 20 of the book "Numerical Recipes in C" by Press et. al.
|
| +
|
| +This package allows the use of any 8, 16, 24, 32, or 64 bit CRC. You can
|
| +generate a Python function for the selected polynomial or an instance of the
|
| +Crc class which provides the same interface as the ``md5`` and ``sha`` modules
|
| +from the Python standard library. A ``Crc`` class instance can also generate
|
| +C/C++ source code that can be used in another application.
|
| +
|
| +----------
|
| +Guidelines
|
| +----------
|
| +
|
| +Documentation is available from the doc strings. It is up to you to decide
|
| +what polynomials to use in your application. If someone has not specified the
|
| +polynomials to use, you will need to do some research to find one suitable for
|
| +your application. Examples are available in the unit test script ``test.py``.
|
| +You may also use the ``predefined`` module to select one of the standard
|
| +polynomials.
|
| +
|
| +If you need to generate code for another language, I suggest you subclass the
|
| +``Crc`` class and replace the method ``generateCode``. Use ``generateCode`` as
|
| +a model for the new version.
|
| +
|
| +------------
|
| +Dependencies
|
| +------------
|
| +
|
| +Python Version
|
| +^^^^^^^^^^^^^^
|
| +
|
| +The package has separate code to support the 2.x and 3.x Python series.
|
| +
|
| +For the 2.x versions of Python, these versions have been tested:
|
| +
|
| +* 2.4
|
| +* 2.5
|
| +* 2.6
|
| +* 2.7
|
| +
|
| +It may still work on earlier versions of Python 2.x, but these have not been
|
| +recently tested.
|
| +
|
| +For the 3.x versions of Python, these versions have been tested:
|
| +
|
| +* 3.1
|
| +
|
| +Building C extension
|
| +^^^^^^^^^^^^^^^^^^^^
|
| +
|
| +To build the C extension, the appropriate compiler tools for your platform must
|
| +be installed. Refer to the Python documentation for building C extensions for
|
| +details.
|
| +
|
| +------------
|
| +Installation
|
| +------------
|
| +
|
| +The crcmod package is installed using ``distutils``.
|
| +Run the following command::
|
| +
|
| + python setup.py install
|
| +
|
| +If the extension module builds, it will be installed. Otherwise, the
|
| +installation will include the pure Python version. This will run significantly
|
| +slower than the extension module but will allow the package to be used.
|
| +
|
| +For Windows users who want to use the mingw32 compiler, run this command::
|
| +
|
| + python setup.py build --compiler=mingw32 install
|
| +
|
| +For Python 3.x, the install process is the same but you need to use the 3.x
|
| +interpreter.
|
| +
|
| +------------
|
| +Unit Testing
|
| +------------
|
| +
|
| +The ``crcmod`` package has a module ``crcmod.test``, which contains unit
|
| +tests for both ``crcmod`` and ``crcmod.predefined``.
|
| +
|
| +When you first install ``crcmod``, you should run the unit tests to make sure
|
| +everything is installed properly. The test script performs a number of tests
|
| +including a comparison to the direct method which uses a class implementing
|
| +polynomials over the integers mod 2.
|
| +
|
| +To run the unit tests on Python >=2.5::
|
| +
|
| + python -m crcmod.test
|
| +
|
| +Alternatively, in the ``test`` directory run::
|
| +
|
| + python test_crcmod.py
|
| +
|
| +---------------
|
| +Code Generation
|
| +---------------
|
| +
|
| +The crcmod package is capable of generating C functions that can be compiled
|
| +with a C or C++ compiler. In the test directory, there is an examples.py
|
| +script that demonstrates how to use the code generator. The result of this is
|
| +written out to the file ``examples.c``. The generated code was checked to make
|
| +sure it compiles with the GCC compiler.
|
| +
|
| +-------
|
| +License
|
| +-------
|
| +
|
| +The ``crcmod`` package is released under the MIT license. See the ``LICENSE``
|
| +file for details.
|
| +
|
| +------------
|
| +Contributors
|
| +------------
|
| +
|
| +Craig McQueen
|
|
|