这个包提供了使用numpy操作浮点数量化的模块。

fpq的Python项目详细描述


LicenseBuild StatusPyPI versionPyversions

首件鉴定

关于

这个包提供了操作浮点数的模块 使用numpy量化。

功能

  • 支持多维数组。
  • 支持64/32/16位浮点之间的编码和解码 数字和N位无符号规范化整数。
  • 支持64/32/16位浮点之间的编码和解码 数字和n位有符号规范化整数。
  • 支持三维矢量和N位无符号之间的编码和解码 整数。
  • 支持四元数和n位之间的编码和解码 无符号整数。

兼容性

fpq适用于python 3.4或更高版本。

依赖性

  • 努比
  • numba

安装

pip install fpq

使用量

32位浮点数与5位的编解码 无符号规范化整数。

>>>importnumpyasnp>>>fromfpq.fpimport*>>>fp=np.array([0.,0.25,1.],dtype=np.float32)>>>enc=encode_fp_to_std_unorm(fp,dtype=np.uint8,nbits=5)>>>encarray([0,8,31],dtype=uint8)>>>dec=decode_std_unorm_to_fp(enc,dtype=np.float32,nbits=5)>>>decarray([0.,0.2580645,1.],dtype=float32)

32位浮点数与5位的编解码 有符号规范化整数。

>>>importnumpyasnp>>>fromfpq.fpimport*>>>fp=np.array([-1.,-0.25,-0.,0.,0.25,1.],dtype=np.float32)>>>enc=encode_fp_to_std_snorm(fp,dtype=np.uint8,nbits=5)>>>encarray([31,9,1,0,8,30],dtype=uint8)>>>dec=decode_std_snorm_to_fp(enc,dtype=np.float32,nbits=5)>>>decarray([-1.,-0.26666668,-0.,0.,0.26666668,1.],dtype=float32)>>>enc=encode_fp_to_ogl_snorm(fp,dtype=np.uint8,nbits=5)>>>encarray([17,28,0,0,4,15],dtype=uint8)>>>dec=decode_ogl_snorm_to_fp(enc,dtype=np.float32,nbits=5)>>>decarray([-1.,-0.26666668,0.,0.,0.26666668,1.],dtype=float32)

三维矢量与64位的编解码(2:20:20:22) 无符号整数。

>>>importmath>>>importrandom>>>importnumpyasnp>>>fromfpq.vectorimport*>>>v=np.array([vec_random(norm=100.)for_inrange(3)],dtype=np.float64)>>>varray([[-54.70386501,-22.45578546,-52.18237577],[-85.46791152,-5.69032986,1.21334561],[16.02886205,1.94634654,-30.35219431]])>>>enc=encode_vec_to_uint(v,dtype=np.uint64,nbits=20)>>>encarray([1313110064653969262,306332797892602581,11373476070061802081],dtype=uint64)>>>dec=decode_uint_to_vec(enc,dtype=np.float64,nbits=20)>>>decarray([[-54.69957531,-22.45404536,-52.17828412],[-85.4662517,-5.69027392,1.21334561],[16.02845595,1.94632843,-30.3514349]])

四元数与64位的编解码(2:20:20:20) 无符号整数。

>>>importnumpyasnp>>>fromfpq.quaternionimport*>>>q=np.array([quat_random()for_inrange(3)],dtype=np.float64)>>>qarray([[0.25679071,-0.15512517,0.88804262,0.34838917],[0.71399177,0.05729705,-0.69728753,-0.02688697],[-0.66527338,-0.62596543,-0.40672262,-0.01246296]])>>>enc=encode_quat_to_uint(q,dtype=np.uint64)>>>encarray([2724532880236077588,93422189206870975,1020620101889574962],dtype=uint64)>>>dec=decode_uint_to_quat(enc,dtype=np.float64)>>>decarray([[0.25679011,-0.15512497,0.88804308,0.34838854],[0.71399243,0.0572969,-0.69728688,-0.02688637],[0.66527395,0.62596484,0.40672258,0.01246335]])

Here是 很少有例子。

文件

对于用户,文档现在可以在https://hasenpfote.github.io/fpq/获得。

许可证

此软件是在麻省理工学院的许可下发布的,请参阅许可证。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为游戏添加声音。需要帮助   java在获取数据时忽略模型类中的forign键映射   java为什么Microsoft JDBC驱动程序忽略failoverPartner主机名   java可以下载mozswing文件   java等价于ObjectOutputStream,不仅保存其状态,还保存整个对象?   Java Android LiveData根据其他LiveData调用房间查询   java如何使用jackson jsonNode实现这一点并获得所需的输出   在web服务器上作为web应用程序运行java应用程序?   groovy中java类的元类属性   返回空指针的java图形对象   标头中包含用户名和密码的java SOAP客户端请求   具有堆栈实现和递归的Hanoi算法塔(Java)   java当我运行这两个类时,我的老鼠不会移动   使用图像进行java相似图像搜索   Java8并行流机制   使用单例对象作为枚举元素的java Scala枚举,是否有可能对它们进行迭代?   java Webview更改高度大小   不可序列化对象和函数的java Spark Scala编程   java my app在eclipse中运行良好,而不是在jar中