Numpy 如何使用无穷大或负无穷大在Cython中表示 | 您所在的位置:网站首页 › java怎么表示无穷大和无穷小 › Numpy 如何使用无穷大或负无穷大在Cython中表示 |
Numpy 如何使用无穷大或负无穷大在Cython中表示
在本文中,我们将介绍如何在Cython和Numpy中使用无穷大或负无穷大。 阅读更多:Numpy 教程 Numpy中的无穷大和负无穷大在Numpy中,可以使用np.inf表示无穷大,使用-np.inf表示负无穷大。例如,下面的代码片段将一个数组中的所有元素都赋值为无穷大: import numpy as np array = np.zeros((3,3)) array[:] = np.inf print(array)输出结果如下: [[inf inf inf] [inf inf inf] [inf inf inf]]在Numpy中使用无穷大或负无穷大非常方便,但在Cython中你需要注意。 Cython中的无穷大和负无穷大在Cython中,需要使用C的标准库math中的INFINITY和-INFINITY来表示无穷大和负无穷大。例如: import cython from libc.math cimport INFINITY @cython.wraparound(False) @cython.boundscheck(False) cpdef double test(): return INFINITY上面的函数test()将会返回正无穷大。如果要返回负无穷大,则只需使用-INFINITY即可。 需要注意的是,C的标准库头文件中定义了INFINITY和-INFINITY,但并没有将其作为常量导出,因此在Cython中需要使用cimport导入。 使用无穷大和负无穷大的行为与Numpy中的相同。例如,下面的代码将一个数组中的所有元素设置为负无穷大: import numpy as np cimport cython from libc.math cimport -INFINITY @cython.boundscheck(False) @cython.wraparound(False) def set_to_neg_inf(D): D[:] = -INFINITY需要注意的是,仅当你的Cython代码中使用Numpy数组时,才需要导入Numpy库并使用np.inf和-np.inf。否则,使用C标准库即可。 总结在本文中,我们介绍了如何在Cython中使用无穷大和负无穷大。在Numpy中,可以使用np.inf和-np.inf方便地表示这些值。但在Cython中,需要使用C标准库中的INFINITY和-INFINITY。记住要使用cimport导入C标准库头文件,否则Cython将无法识别这些常量。 |
CopyRight 2018-2019 实验室设备网 版权所有 |