澳门新蒲京娱乐


正规布告,年路径图

简易解决技巧

科学计算包,快速教程

NumPy 1.18.0 已发布。除了通常的错误修复之外,此版本还清理并记录新的随机
C-API,使大量旧版本弃用,并改善了文档的外观。其支持的 Python 版本为
3.5-3.8,这也是最后一个支持 Python 3.5 的 NumPy 发布系列。

整个快速教程直接上例子,具体对Cython的使用可以看参考文章。以下工作均在Windows 10

Highlights

  • Python 2.7 + NumPy 1.11.0 + Cython 0.24 版本上进行。
  • numpy.random 的 C-API 已经定义并记录。
  • 与 64 位 BLAS 和 LAPACK 库链接的基本基础结构。
  • 许多文档方面的改进。

准备工作

假设现在我们用C实现了一个可以用在数组上的cos函数,函数原型如下:

// 对in_array中的前size个数求cos值,并存放在out_array对应位置上void cos_doubles(double * in_array, double * out_array, int size);

那么总共需要4个文件:

  • cos_doubles.c,C源文件。
  • cos_doubles.h,C头文件。
  • _cos_doubles.pyx,Python的C扩展文件。(注意:之所以前面加个”_”下划线,是因为使用Cython编译打包后会对pyx文件生成同名的c文件,为了避免覆盖掉原来的cos_doubles.c文件,此处加个下划线)
  • setup.py,负责管理编译、打包工作的“配置”脚本。

下面给出4个文件的源代码

新功能

cos_doubles.c

#include "cos_doubles.h"#include <math.h>/* Compute the cosine of each element in in_array, storing the result in * out_array. */void cos_doubles(double * in_array, double * out_array, int size){ int i; for(i=0;i<size;i++){ out_array[i] = cos(in_array[i]); }}
  • 将多元超几何分布添加到 numpy.random

cos_doubles.h

#ifndef _COS_DOUBLES_H#define _COS_DOUBLES_Hvoid cos_doubles(double * in_array, double * out_array, int size);#endif

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图