Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Unified Diff: tools/telemetry/third_party/gsutilz/third_party/crcmod/docs/source/crcmod.predefined.rst

Issue 1264873003: Add gsutil/third_party to telemetry/third_party/gsutilz/third_party. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove httplib2 Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/third_party/gsutilz/third_party/crcmod/docs/source/crcmod.predefined.rst
diff --git a/tools/telemetry/third_party/gsutilz/third_party/crcmod/docs/source/crcmod.predefined.rst b/tools/telemetry/third_party/gsutilz/third_party/crcmod/docs/source/crcmod.predefined.rst
new file mode 100644
index 0000000000000000000000000000000000000000..52b0347879e2e0fe8209f9dd9100854e748484a2
--- /dev/null
+++ b/tools/telemetry/third_party/gsutilz/third_party/crcmod/docs/source/crcmod.predefined.rst
@@ -0,0 +1,164 @@
+
+:mod:`crcmod.predefined` -- CRC calculation using predefined algorithms
+=======================================================================
+
+.. module:: crcmod.predefined
+ :synopsis: CRC calculation using predefined algorithms
+.. moduleauthor:: Craig McQueen
+.. sectionauthor:: Craig McQueen
+
+This module provides a function factory :func:`mkPredefinedCrcFun` and a class :class:`PredefinedCrc`
+for calculating CRCs of byte strings using common predefined CRC algorithms.
+
+The function factory and the class are very similar to those defined in :mod:`crcmod`,
+except that the CRC algorithm is specified by a predefined name, rather than the
+individual polynomial, reflection, and initial and final-XOR parameters.
+
+Predefined CRC algorithms
+-------------------------
+
+The :mod:`crcmod.predefined` module offers the following predefined algorithms:
+
+================================ ====================== ========== ==================== ==================== ====================
+Name Polynomial Reversed? Init-value XOR-out Check
+================================ ====================== ========== ==================== ==================== ====================
+``crc-8`` 0x107 False 0x00 0x00 0xF4
+``crc-8-darc`` 0x139 True 0x00 0x00 0x15
+``crc-8-i-code`` 0x11D False 0xFD 0x00 0x7E
+``crc-8-itu`` 0x107 False 0x55 0x55 0xA1
+``crc-8-maxim`` 0x131 True 0x00 0x00 0xA1
+``crc-8-rohc`` 0x107 True 0xFF 0x00 0xD0
+``crc-8-wcdma`` 0x19B True 0x00 0x00 0x25
+``crc-16`` 0x18005 True 0x0000 0x0000 0xBB3D
+``crc-16-buypass`` 0x18005 False 0x0000 0x0000 0xFEE8
+``crc-16-dds-110`` 0x18005 False 0x800D 0x0000 0x9ECF
+``crc-16-dect`` 0x10589 False 0x0001 0x0001 0x007E
+``crc-16-dnp`` 0x13D65 True 0xFFFF 0xFFFF 0xEA82
+``crc-16-en-13757`` 0x13D65 False 0xFFFF 0xFFFF 0xC2B7
+``crc-16-genibus`` 0x11021 False 0x0000 0xFFFF 0xD64E
+``crc-16-maxim`` 0x18005 True 0xFFFF 0xFFFF 0x44C2
+``crc-16-mcrf4xx`` 0x11021 True 0xFFFF 0x0000 0x6F91
+``crc-16-riello`` 0x11021 True 0x554D 0x0000 0x63D0
+``crc-16-t10-dif`` 0x18BB7 False 0x0000 0x0000 0xD0DB
+``crc-16-teledisk`` 0x1A097 False 0x0000 0x0000 0x0FB3
+``crc-16-usb`` 0x18005 True 0x0000 0xFFFF 0xB4C8
+``x-25`` 0x11021 True 0x0000 0xFFFF 0x906E
+``xmodem`` 0x11021 False 0x0000 0x0000 0x31C3
+``modbus`` 0x18005 True 0xFFFF 0x0000 0x4B37
+``kermit`` [#ccitt]_ 0x11021 True 0x0000 0x0000 0x2189
+``crc-ccitt-false`` [#ccitt]_ 0x11021 False 0xFFFF 0x0000 0x29B1
+``crc-aug-ccitt`` [#ccitt]_ 0x11021 False 0x1D0F 0x0000 0xE5CC
+``crc-24`` 0x1864CFB False 0xB704CE 0x000000 0x21CF02
+``crc-24-flexray-a`` 0x15D6DCB False 0xFEDCBA 0x000000 0x7979BD
+``crc-24-flexray-b`` 0x15D6DCB False 0xABCDEF 0x000000 0x1F23B8
+``crc-32`` 0x104C11DB7 True 0x00000000 0xFFFFFFFF 0xCBF43926
+``crc-32-bzip2`` 0x104C11DB7 False 0x00000000 0xFFFFFFFF 0xFC891918
+``crc-32c`` 0x11EDC6F41 True 0x00000000 0xFFFFFFFF 0xE3069283
+``crc-32d`` 0x1A833982B True 0x00000000 0xFFFFFFFF 0x87315576
+``crc-32-mpeg`` 0x104C11DB7 False 0xFFFFFFFF 0x00000000 0x0376E6E7
+``posix`` 0x104C11DB7 False 0xFFFFFFFF 0xFFFFFFFF 0x765E7680
+``crc-32q`` 0x1814141AB False 0x00000000 0x00000000 0x3010BF7F
+``jamcrc`` 0x104C11DB7 True 0xFFFFFFFF 0x00000000 0x340BC6D9
+``xfer`` 0x1000000AF False 0x00000000 0x00000000 0xBD0BE338
+``crc-64`` 0x1000000000000001B True 0x0000000000000000 0x0000000000000000 0x46A5A9388A5BEFFE
+``crc-64-we`` 0x142F0E1EBA9EA3693 False 0x0000000000000000 0xFFFFFFFFFFFFFFFF 0x62EC59E3F1A4F00A
+``crc-64-jones`` 0x1AD93D23594C935A9 True 0xFFFFFFFFFFFFFFFF 0x0000000000000000 0xCAA717168609F281
+================================ ====================== ========== ==================== ==================== ====================
+
+.. rubric:: Notes
+
+.. [#ccitt] Definitions of CCITT are disputable. See:
+
+ * http://homepages.tesco.net/~rainstorm/crc-catalogue.htm
+ * http://web.archive.org/web/20071229021252/http://www.joegeluso.com/software/articles/ccitt.htm
+
+:func:`mkPredefinedCrcFun` -- CRC function factory
+--------------------------------------------------
+
+The function factory provides a simple interface for CRC calculation. It is similar
+to :func:`crcmod.mkCrcFun`, except that it specifies a CRC algorithm by name rather
+than its parameters.
+
+.. function:: mkPredefinedCrcFun(crc_name)
+
+ Function factory that returns a new function for calculating CRCs
+ using a specified CRC algorithm.
+
+ :param crc_name: The name of the predefined CRC algorithm to use.
+ :type crc_name: string
+
+ :return: CRC calculation function
+ :rtype: function
+
+ The function that is returned is the same as that returned by :func:`crcmod.mkCrcFun`:
+
+ .. function:: .crc_function(data[, crc=initCrc])
+
+ :param data: Data for which to calculate the CRC.
+ :type data: byte string
+
+ :param crc: Initial CRC value.
+
+ :return: Calculated CRC value.
+ :rtype: integer
+
+.. function:: mkCrcFun(crc_name)
+
+ This is an alias for :func:`crcmod.predefined.mkPredefinedCrcFun`. However, it is not defined when
+ :mod:`crcmod.predefined` is imported using the form::
+
+ >>> from crcmod.predefined import *
+
+Examples
+^^^^^^^^
+
+**CRC-32** example::
+
+ >>> import crcmod.predefined
+
+ >>> crc32_func = crcmod.predefined.mkCrcFun('crc-32')
+ >>> hex(crc32_func('123456789'))
+ '0xcbf43926L'
+
+**XMODEM** example::
+
+ >>> xmodem_crc_func = crcmod.predefined.mkCrcFun('xmodem')
+ >>> hex(xmodem_crc_func('123456789'))
+ '0x31c3'
+
+
+Class :class:`PredefinedCrc`
+----------------------------
+
+This class is inherited from the :class:`crcmod.Crc` class, and is the same except for the
+initialization. It specifies a CRC algorithm by name rather than its parameters.
+
+.. class:: PredefinedCrc(crc_name)
+
+ Returns a new :class:`Crc` object for calculating CRCs using a specified CRC algorithm.
+
+ The parameter is the same as that for the factory function :func:`crcmod.predefined.mkPredefinedCrcFun`.
+
+ :param crc_name: The name of the predefined CRC algorithm to use.
+ :type crc_name: string
+
+.. class:: Crc(poly[, initCrc, rev, xorOut])
+
+ This is an alias for :class:`crcmod.predefined.PredefinedCrc`. However, it is not defined when
+ :mod:`crcmod.predefined` is imported using the form::
+
+ >>> from crcmod.predefined import *
+
+Examples
+^^^^^^^^
+
+**CRC-32** Example::
+
+ >>> import crcmod.predefined
+
+ >>> crc32 = crcmod.predefined.Crc('crc-32')
+ >>> crc32.update('123456789')
+ >>> hex(crc32.crcValue)
+ '0xcbf43926L'
+ >>> crc32.hexdigest()
+ 'CBF43926'

Powered by Google App Engine
This is Rietveld 408576698