公开intel sse4.2 crc32c指令的python包
crc32c的Python项目详细描述
这个包向python公开了在sse 4.2中实现的crc32c算法。 英特尔CPU的指令集。
因为crc32c在pypi中,所以可以使用以下命令安装它:
pip install crc32c
支持的平台是使用gcc和clang编译器的linux和osx, 以及使用visual studio编译器的windows。中的其他编译器 windows(比如mingw)可能可以工作。
实施细节
默认情况下, 如果您的CPU不支持此指令,则包将无法加载 有一个ImportError。 如果仍然需要使用CRC32C校验和算法 这个软件包附带了一个软件实现 可以加载。 为此,设置CRC32C_SW_MODE环境变量 设置为下列值之一:
- auto:如果找不到CPU硬件支持,请使用软件实现。
- force:使用软件实现,而不考虑CPU硬件支持。
- 1:类似于force,但最终将停止使用。
基于硬件和软件的算法 基于Mark Adler’s code, 需要做一些修改 使代码更易于移植 适合包含在这个python包中。
版权所有
此软件包受版权保护:
ICRAR - International Centre for Radio Astronomy Research (c) UWA - The University of Western Australia, 2017 Copyright by UWA (in the framework of the ICRAR)
最初的CRC32C算法, 软件和硬件, 版权所有:
Copyright (C) 2013 Mark Adler
许可证
此软件包是根据lgpl-2.1许可证授权的。
原始CRC32C算法的代码, 软件和硬件, 根据BSD 3条款许可证获得许可。