小编Sha*_*mez的帖子

如何在python中使用C扩展来绕过GIL

我想在多个内核中运行Python中的cpu密集型程序,并试图找出如何编写C扩展来执行此操作.是否有任何代码示例或教程?

python python-c-extension

11
推荐指数
3
解决办法
5313
查看次数

C近似函数

我正在为Java中的exp,log和sqrt做一些近似函数.关于指针如何工作我有点生疏 - 这个语法是否正确?

#include <math.h>
#include "QDMath.h"

JNIEXPORT jdouble JNICALL Java_QDMath_exp
  (JNIEnv *env, jclass class, jdouble val)
{
    jint tmp = (jint) (1512775 * val + 1072632447);
    jdouble p = 0.0;
    *(1 + (jint * ) &p) = tmp;
    return p;
}

JNIEXPORT jdouble JNICALL Java_QDMath_log
  (JNIEnv *env, jclass class, jdouble val)
{
    jint tmp = (*(1 + (jint *) &val));
    jdouble p = ((jdouble) tmp - 1072632447) / 1512775;
    return p;
}

JNIEXPORT jdouble JNICALL Java_QDMath_sqrt
  (JNIEnv *env, jclass …
Run Code Online (Sandbox Code Playgroud)

c java java-native-interface

0
推荐指数
1
解决办法
212
查看次数