我一直致力于一个程序,我需要慢慢平稳地将正弦波的音高从一个音高变换到另一个音高.我能够在任何给定的时刻获得一个频率阵列的频率(例如,[440,526.5,634.2 794.8,880],虽然更多,更长)但似乎我无法实际应用该频率一波.我最好的尝试是:
numpy.sin(2*math.pi*x*freq/self.sample_rate)
Run Code Online (Sandbox Code Playgroud)
其中"freq"是频率数组,x是枚举数组([0,1,2,3,4 ...]).这种方法有效,但它会使频率超出预期频率,然后再降低.我一直在研究这个问题很长一段时间,并且无法在找到更合适的方法方面取得任何进展.有什么建议?我是否足够明确表达我的困境?
谢谢.
我在vs2010(win32控制台应用程序)中运行我的C代码.它被编译为C++应用程序.
#include "stdafx.h"
#define YES 1;
#define NO 0;
// function to determine if an integer is even
int isEven(int number)
{
int answer;
if ( number % 2 == 0)
answer = YES;
else
answer = NO;
return answer;
}
int main()
{
int isEven(int number);
if (isEven(17) == YES)
printf("yes ");
else
printf("no ");
if ( isEven(20) == YES)
printf("yes\n");
else
printf("no\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
编译错误如下.
p300.cpp(18): error C2181: illegal else without matching if
p300.cpp(30): error …Run Code Online (Sandbox Code Playgroud) 我决定尝试执行协同程序(我认为这就是我应该如何称呼它们)以获得乐趣和利润.我希望必须使用汇编程序,如果我想让它对任何事情都有用,可能还需要一些C.
请记住,这是出于教育目的.使用已经构建的协程库太容易了(而且真的没什么乐趣).
你们知道setjmp和longjmp?它们允许您将堆栈展开到预定义位置,并从那里继续执行.但是,它无法回退到堆栈上的"稍后".只是早点回来.
jmpbuf_t checkpoint;
int retval = setjmp(&checkpoint); // returns 0 the first time
/* lots of stuff, lots of calls, ... We're not even in the same frame anymore! */
longjmp(checkpoint, 0xcafebabe); // execution resumes where setjmp is, and now it returns 0xcafebabe instead of 0
Run Code Online (Sandbox Code Playgroud)
我想要的是一种在不同堆栈上运行而无需线程化的两种函数的方法.(显然,一次只能运行一次.我说没有线程.)这两个函数必须能够恢复另一个执行(并暂停自己的执行).有点像他们正在longjmp对方.一旦它返回到另一个函数,它必须从它离开的地方恢复(即,在给另一个函数控制的调用期间或之后),有点像longjmp返回setjmp.
这就是我的想法:
A创建并将并行堆栈归零(分配内存和所有内容).A将其所有寄存器推送到当前堆栈.A将堆栈指针和基指针设置为该新位置,并推送一个神秘的数据结构,指示要跳回的位置以及将指令指针放回的位置.A大多数寄存器归零,并将指令指针设置为函数的开头B.这是初始化.现在,以下情况将无限循环:
B在该堆栈上运行,完成它需要的任何工作. …是渐进增强和优雅降级基本上是一回事吗?
我有一个具有Array属性的模型.从表单提交中填充该属性的正确方法是什么?
我知道有一个带有字段的表单输入,其名称包括括号,从输入创建一个哈希.我应该只是拿着它并在控制器中踩过它来按摩它成阵列吗?
让它不那么抽象的例子:
class Article
serialize :links, Array
end
Run Code Online (Sandbox Code Playgroud)
links变量采用URL数组的形式,即 [["http://www.google.com"], ["http://stackoverflow.com"]]
当我在表单中使用类似下面的内容时,会创建一个哈希:
<%= hidden_field_tag "article[links][#{url}]", :track, :value => nil %>
Run Code Online (Sandbox Code Playgroud)
结果哈希看起来像这样:
"links" => {"http://www.google.com" => "", "http://stackoverflow.com" => ""}
Run Code Online (Sandbox Code Playgroud)
如果我没有在链接名称中包含url,则其他值会相互冲突:
<%= hidden_field_tag "article[links]", :track, :value => url %>
Run Code Online (Sandbox Code Playgroud)
结果如下: "links" => "http://stackoverflow.com"
目前我将其设置为varchar,最大长度为15000 - 它存储论坛帖子,因此它们的大小可能会有很大差异.谢谢!
我正在尝试使用OpenGL 1.1在iPad上进行屏幕镜像.我已经到了设置外部窗口和视图的重点.我在第一个屏幕上使用OpenGL,并且我已经读过我可以设置一个共享的渲染缓冲区,但是因为我有点像OpenGL初学者,所以我在运行时可能会遇到一些麻烦缓冲.
我已经设置了两个单独的上下文并为两者渲染了不同的东西,但当然我想为了效率而共享渲染缓冲区.Apple文档解释了如何设置共享组对象并初始化共享上下文,但我也想知道如何设置和共享渲染缓冲区,以便外部屏幕可以只绘制此渲染缓冲区它是帧缓冲区.
最终的目标是尽可能高效地进行屏幕镜像,因此对此问题的任何建议都将非常受欢迎.
既然iOS 4不再是NDA,我想知道Gyroscope为开发人员提供的加速度计.API有区别吗?其他事情?
我看到它提到的某个地方:
for ( itr = files.begin(); itr < files.end(); ++itr ) // WRONG
for ( itr = files.begin(); itr != files.end(); ++itr ) // ok
Run Code Online (Sandbox Code Playgroud)
为什么第一个表达式错了?我总是使用第一个表达式,并没有任何问题.
如何将字符转换为整数值?例如,我一直试图将"A"视为1,将"B"视为2,依此类推.我尝试将字符与字母表中的每个字母进行比较并返回适当的值.
int intvalue(char letter)
{
if(letter == "A")
return 1;
else if(letter == "B")
return 2;
else if(letter == "C")
return 3;
else if(letter == "D")
return 4;
else if(letter == "E")
return 5;
else if(letter == "F")
return 6;
else if(letter == "G")
return 7;
else if(letter == "H")
return 8;
else if(letter == "I")
return 9;
else if(letter == "J")
return 10;
else if(letter == "K")
return 11;
else if(letter == "L")
return 12;
else if(letter == "M") …Run Code Online (Sandbox Code Playgroud)