GithubHelp home page GithubHelp logo

eigendude / crc32c Goto Github PK

View Code? Open in Web Editor NEW

This project forked from icrar/crc32c

0.0 1.0 0.0 83 KB

A python package exposing the Intel SSE4.2 CRC32C instruction

License: GNU Lesser General Public License v2.1

Batchfile 1.29% C 87.24% Python 11.47%

crc32c's Introduction

crc32c

https://travis-ci.org/ICRAR/crc32c.svg?branch=master https://ci.appveyor.com/api/projects/status/lamys36iude1x180/branch/master?svg=true

This package exposes to Python the crc32c algorithm implemented in the SSE 4.2 instruction set of Intel CPUs.

Because crc32c is in PyPI, you can install it with:

pip install crc32c

Supported platforms are Linux and OSX using the gcc and clang compilers, and Windows using the Visual Studio compiler. Other compilers in Windows (MinGW for instance) might work.

Implementation details

By default, if your CPU doesn't support this instruction, the package will fail to load with an ImportError. If you still need to use the crc32c checksum algorithm this package comes with a software implementation that can be loaded instead. For that set the CRC32C_SW_MODE environment variable to one of the following values:

  • auto: use software implementation if no CPU hardware support is found.
  • force: use software implementation regardless of CPU hardware support.
  • 1: like force, but will eventually be discontinued.

Both the hardware- and software-based algorithms are based on Mark Adler's code, with some modifications required to make the code more portable and fit for inclusion within this python package.

Copyright

This package is copyrighted:

ICRAR - International Centre for Radio Astronomy Research
(c) UWA - The University of Western Australia, 2017
Copyright by UWA (in the framework of the ICRAR)

The original crc32c algorithms, both software and hardware, are copyrighted by:

Copyright (C) 2013 Mark Adler

License

This package is licensed under the LGPL-2.1 license.

The original crc32c algorithm's code, both software and hardware, are licensed under the BSD 3-clause license.

crc32c's People

Contributors

jlaine avatar kislyuk avatar rtobar avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.