问题列表 - 第40376页

使用C函数扩展Numpy

我正在尝试加速我的Numpy代码,并决定我想实现一个特定的函数,我的代码大部分时间都在C中.

我实际上是C中的新手,但我设法编写了一个函数,它将矩阵中的每一行规范化为1.我可以编译它并用一些数据(在C中)测试它并且它做我想要的.那时我为自己感到骄傲.

现在我试图从Python中调用我的光荣函数,它应该接受一个2d-Numpy数组.

我尝试过的各种事情都是

  • 痛饮

  • SWIG + numpy.i

  • ctypes的

我的功能有原型

void normalize_logspace_matrix(size_t nrow, size_t ncol, double mat[nrow][ncol]);
Run Code Online (Sandbox Code Playgroud)

因此它需要一个指向可变长度数组的指针并将其修改到位.

我尝试了以下纯SWIG接口文件:

%module c_utils

%{
extern void normalize_logspace_matrix(size_t, size_t, double mat[*][*]);
%}

extern void normalize_logspace_matrix(size_t, size_t, double** mat);
Run Code Online (Sandbox Code Playgroud)

然后我会做(在Mac OS X 64bit上):

> swig -python c-utils.i

> gcc -fPIC c-utils_wrap.c -o c-utils_wrap.o \
     -I/Library/Frameworks/Python.framework/Versions/6.2/include/python2.6/ \
     -L/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/ -c
c-utils_wrap.c: In function ‘_wrap_normalize_logspace_matrix’:
c-utils_wrap.c:2867: warning: passing argument 3 of ‘normalize_logspace_matrix’ from   incompatible pointer type

> g++ -dynamiclib c-utils.o -o _c_utils.so
Run Code Online (Sandbox Code Playgroud)

在Python中,我在导入模块时遇到以下错误:

>>> import c_utils
Traceback …
Run Code Online (Sandbox Code Playgroud)

c python swig numpy cython

2
推荐指数
1
解决办法
3270
查看次数

从Haml输出中自动删除所有换行符

我在Rails 3应用程序中使用Haml,它的新行让我疯了!例如,

%span
  foo
Run Code Online (Sandbox Code Playgroud)

呈现为

<span>
foo
</span>
Run Code Online (Sandbox Code Playgroud)

但我更愿意

<span>foo</foo>
Run Code Online (Sandbox Code Playgroud)

原因(除了更清晰的XML)是额外的换行是我的Selenium测试的一个问题,因为它们搞乱了做XPath查询的能力"//span[.='foo']".所以我不得不写'\nfoo\n'(ew!),或者使用//span[contains(text(), 'foo')],它们的匹配范围太广了.

我知道我可以使用鳄鱼操作符("<"和">")去除空格,但由于我没有希望新行出现在输出中的情况,我最后会添加它们机械地在每条线的末端.而这似乎非常不明智.

所以现在我看到两个解决方案:

  1. 强制Haml永远不会发出新行,除非它们来自Ruby表达式.我看到围绕Haml代码传播的一些nuke_inner_whitespace/ nuke_outer_whitespace变量可能会起作用,但我不确定如何在不诉诸无偿的猴子修补的情况下改变它们.
  2. 挂钩到Rails以应用于gsub!("\n", "")所有呈现的HTML.(对于textarea和pre,我仍然可以使用~ "foo\nbar"Haml发射foo&#x000A;bar.)但是哪里是正确的地方挂钩Rails?我在代码中有点迷失.

任何指针或其他建议赞赏!

更新:我已经在下面使用了Jason的猴子补丁一段时间了,我开始认为它不值得.例如,如果我想获得<span>[del]</span> <span>foo</span>,很难在核心之间没有空白区域.即使以下内容也会[del]foo在页面上呈现:

%span
  = '[del] '
%span
  foo
Run Code Online (Sandbox Code Playgroud)

所以我想我会回去手动添加鳄鱼操作员(参见下面的自我回答).活到老,学到老.

再次感谢杰森!:)

haml ruby-on-rails ruby-on-rails-3

4
推荐指数
1
解决办法
4424
查看次数

android模型视图演示者/控制器示例

有没有关于如何最好地在任何地方构建Android应用程序的好例子或教程?

我是java和android的新手,我在asp.net中使用模型视图演示器和模型视图控制器的被动和监督控制器变体构建了winforms应用程序,但没有真正看到任何使用这些模式的android上的示例或代码.

人们如何在野外构建体面大小的Android应用程序.有没有最好的做法,或者我应该严格坚持官方的Android文档.

java model-view-controller mvp android design-patterns

28
推荐指数
1
解决办法
3万
查看次数

Rails中是否有HTML安全截断方法?

我在Rails中有一串HTML.我想在一定数量的字符之后截断字符串,不包括HTML标记.此外,如果拆分恰好落在开始和结束标签的中间,我想关闭打开的标签.例如;

html = "123<a href='#'>456</a>7890"
truncate_markup(html, :length => 5) --> "123<a href='#'>45</a>"
Run Code Online (Sandbox Code Playgroud)

html ruby string ruby-on-rails

42
推荐指数
4
解决办法
2万
查看次数

HTML5 <html>属性xmlns,lang,xml:lang

我不了解开始标记的属性属性HTML5规范langxml:lang<html>.滚动了一下,据我所知,xmlns是一个"护身符"(没有效果),但对于langxml:lang?他们应该被使用吗?如果是这样,他们应该设置什么?

xml html5 xml-namespaces

31
推荐指数
2
解决办法
4万
查看次数

处理:如何提高程序的帧率?

所以我现在已经在Processing工作了几个星期,虽然我没有编程方面的经验,但我已经转向了更复杂的项目.我正在编程一个进化模拟器,它会生成具有随机属性的生物.

最终,我将添加复制品,但截至目前,这些生物只是漂浮在屏幕周围,并且稍微跟着鼠标.它与来自线路的声音相互作用,但我对这些部分进行了评论,以便可以在画布上查看,它不应该真正改变问题,我只是想我会指出它.

截至目前,帧速率对我来说远非理想,随着更多生物的产生,它逐渐降低.我是否犯了一些基本错误,或者我只是每帧运行太多功能?

这里的源代码,你可以在浏览器中玩它在这里:

//import ddf.minim.*;
//import ddf.minim.signals.*;
//import ddf.minim.analysis.*;
//import ddf.minim.effects.*;

//Minim minim;
//AudioInput in;
boolean newCreature = true;
boolean matured[];
int ellipses[];
int hair[];
int maxCreatureNumber = 75;
//int volume;
//int volumeTolerance = 1;
int creatureIndex = -1;
int creatureX[];
int creatureY[];
float strokeWeightAttribute[];
float creatureSize[];
float creatureEndSize[];
float creatureXIncrement[];
float creatureYIncrement[];
float bubbleSize;
float easing = 0.05;
float angle = 0.00;
color colorAttribute[];

void setup() {
    background(0);
    size(1000,500);
    noFill();
    //minim = new Minim(this); …
Run Code Online (Sandbox Code Playgroud)

processing optimization

4
推荐指数
3
解决办法
6704
查看次数

如何流程序代码?

我最近一直在学习Lisp(Scheme,Racket和Clojure到不同程度),并阅读了着名的Playstation开发者Naughty Dog的相应文献.

这篇Gamasutra文章提到他们的流媒体引擎实际上除了游戏数据之外还包含游戏代码.现在,他们有一种叫做GOAL的Lisp方言,他们广泛使用.我知道Lisp的"Code as Data",尽管我还没有完全理解这个概念.所以,我想知道流代码的能力是否是他们的代码的属性是Lisp数据或编译的机器代码,而不是可以在许多语言中使用的通用设计模式?

有人能指点我这个主题的文学作品吗?

额外奖励:有人可以向我指出维基百科文章中提到的关于长期听力编译器的文献吗?

lisp compiler-construction streaming

4
推荐指数
1
解决办法
390
查看次数

C#从String中删除URL

这似乎是一个非常简单的,但我尝试的一切似乎都不起作用

说我有以下字符串:

string myString = "http://www.mysite.com/folder/file.jpg";
Run Code Online (Sandbox Code Playgroud)

如何处理删除URL并将"file.jpg"作为字符串值?

谢谢!

短剑的一种

c# string

2
推荐指数
1
解决办法
4098
查看次数

vmware如何轻松安装?

使用VMWare Workstation Easy Install,您可以在没有任何输入的情况下安装操作系统.它是如何做到的?是否支持将此内置到操作系统中,或者vmware是否会自动选择正确的选项?

vmware

11
推荐指数
2
解决办法
1万
查看次数

我可以使用PBKDF2生成AES256密钥来加密和隐式验证吗?

我有2个设备,我想在它们之间建立一个安全的通信通道.唯一的共享秘密是(7到20个字符的ASCII)密码.如果我使用PBKDF2(来自RFC 2898)使用公共盐,迭代和密码来生成双方的AES256-CBC密钥和IV,我想我可以一步验证用户并提供加密通道.是真的,还是有一些原因我只看到人们使用PBKDF2来验证密码?

我的理由是,双方都需要知道密码才能生成相同的密钥和IV.因此,如果设备B可以解密来自设备A的数据,他们都证明他们具有相同的密码短语.

security encryption cryptography

5
推荐指数
1
解决办法
2842
查看次数