小编Sha*_*aki的帖子

编译cython的HelloWorld示例:不知道如何在平台上编译C/C++代码

每当我尝试编译 simpleset cython 示例时

你好世界.pyx

print "Hello World"
Run Code Online (Sandbox Code Playgroud)

设置文件

from distutils.core import setup
from Cython.Build import cythonize
setup(
    ext_modules = cythonize("helloworld.pyx")
)
Run Code Online (Sandbox Code Playgroud)

我正在接收

c:\> python setup.py build_ext --inplace --compiler=c:\cygwin64\bin\gcc
running build_ext
error: don't know how to compile C/C++ code on platform 'nt' with 'c:\cygwin64\bin\gcc' compiler
Run Code Online (Sandbox Code Playgroud)

我可能做错了什么?

PS我正在使用

Python 3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1900 64 bit (AMD64)] on win32
Run Code Online (Sandbox Code Playgroud)

python cython python-3.x anaconda cythonize

14
推荐指数
1
解决办法
5369
查看次数

另一个适用问题

我完全相信一个有效的R程序应该尽可能避免使用循环,而应该使用apply函数的大系列.但如果没有痛苦,这是不可能的.例如,我面临一个问题,其解决方案涉及应用函数中的总和,因此结果列表减少到单个值,这不是我想要的.具体来说,我会尽量简化我的问题N =100

sapply(list(1:N), function(n) (
    choose(n,(floor(n/2)+1):n) * 
    eps^((floor(n/2)+1):n) * 
    (1- eps)^(n-((floor(n/2)+1):n))))
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,内部函数会导致构建向量的长度爆炸,而使用内部求和会将所有内容折叠为单值

sapply(list(1:N), function(n) (
    choose(n,(floor(n/2)+1):n) * 
    eps^((floor(n/2)+1):n) * 
    (1- eps)^(n-((floor(n/2)+1):n))))
Run Code Online (Sandbox Code Playgroud)

我想要的是一个N的程度列表.那你觉得怎么样?我该怎么修呢?

r apply

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

标签 统计

anaconda ×1

apply ×1

cython ×1

cythonize ×1

python ×1

python-3.x ×1

r ×1