小编Nay*_*uki的帖子

如何在Python中计算-1 /(-343)^(1/3)为1/7?

我喜欢在我的函数探索中加入Python,但是我遇到了一些我没想到或想要进行这些评估的行为.

>>> def h(x):
...     return -1 / x**(1/3)
...
>>> h(-343)
(-0.07142857142857145 + 0.12371791482634838j)
Run Code Online (Sandbox Code Playgroud)

我想要一个真正的反函数:

>>> def f(x):
...     return x**3
...
>>> f(-7)
-343
Run Code Online (Sandbox Code Playgroud)

这样:

>>> def h(x):
...     return -1/inverse_f(x)
...
>>> h(-343)
0.14285714285714285
Run Code Online (Sandbox Code Playgroud)

是否有Pythonic方法来获得这种行为?

python math exponentiation

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

to extern"C"或not extern extern"C"[g ++ vs cl]

我正在将Numerical Recipes four1.c与Nayuki的FFT进行比较.两者都是C版本,但我使用的是C++驱动程序.为了进行比较,我正在使用CL.exe和g ++编译(或更恰当地说,链接)到可执行文件中.两人似乎都在争论是否使用extern"C"作为four1功能,但似乎都不关心Nayuki的.我为four1制作了一个头文件,检查_WIN32是为了适当切换,它可以工作,但似乎是一个完全无法接受的黑客攻击.我该如何解决这个问题?

这是头文件:

#pragma once
#ifdef _WIN32
extern "C" void four1(float data[], unsigned long nn, int isign);
#else
void four1(float data[], unsigned long nn, int isign);
#endif
Run Code Online (Sandbox Code Playgroud)

这就是CL没有外部"C"的情况:

drvr.obj : error LNK2019: unresolved external symbol "void __cdecl four1(float * const,unsigned long,int)" (?four1@@YAXQAMKH@Z) referenced in function _main
drvr.exe : fatal error LNK1120: 1 unresolved externals
Run Code Online (Sandbox Code Playgroud)

如果使用extern"C",这就是g ++的作用:

/tmp/ccK1Hb2N.o: In function `main':
drvr.cpp:(.text+0x347): undefined reference to `four1'
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

适用于CL的内容不适用于g ++,适用于g ++的内容在CL中不起作用.至少对于这个文件.Nayuki代码不存在这样的问题.

我按照建议尝试修改头文件,所以现在这里是dfour1.h:

#pragma once …
Run Code Online (Sandbox Code Playgroud)

c c++ g++ extern-c cl

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

C结构赋值可以使用大括号语法吗?

可能重复:
C/C++编程语言的struct初始化?

我正在重新学习C并且问自己这样的事情是否可行:

typedef struct Link {
    struct Node a;
    struct Node b;
    float weight;
    } Link;

Link links[LINK_NUMBER];
links[0] = {nodes[0], nodes[1], 5};
Run Code Online (Sandbox Code Playgroud)

代替:

Link link0 = {nodes[0], nodes[1], 5};
links[0] = link;
Run Code Online (Sandbox Code Playgroud)

c struct

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

将time()检索为HH:MM:SS字符串

我正在学习Erlang,我问自己什么是将time()输出转换为格式化时间字符串(HH:MM:SS)的最佳方法.我想出的代码是:

my_time() ->
    {H, M, S} = time(),
    integer_to_list(H) ++ ":" ++ integer_to_list(M) ++ ":" ++ integer_to_list(S).
Run Code Online (Sandbox Code Playgroud)

这段代码不会完全诀窍,因为它不会用分钟或秒来填充零.它还使用++运算符来连接不推荐的列表.

在Erlang中实现这个简单任务的正确方法是什么?

erlang string-formatting

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

sizeof和一个字节大于8位?

  1. 既然sizeof是运算符,为什么我们可以sizeof(something);像函数调用一样使用?

  2. 什么时候字节不是8位?

此上下文中的字节与unsigned char相同,可能大于8位

是否有可能该字节小于8位?

c bit

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

将FFT应用于java中的录音

我在这个网站上看到过与此类似的类似问题,但我的问题有点不同.我用来捕获音频的代码就是这个.我想简单地获取捕获的音频并用256点应用FFT.

我意识到这line count = line.read(buffer, 0, buffer.length);会将音频分解为"块".

我也可以在这里找到我正在使用的FFT .

我的问题是:

  1. 我想知道是否有办法将FFT应用于整个录音而不仅仅是缓冲量.
  2. 我看到FFT的代码需要一个实部和虚部,我如何通过音频文件从代码中获取实部和虚部.

java audio signal-processing fft

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

ceil和floor之间奇怪的平等

我正在将我的解决方案与另一个解决方案进行比较,发现这条不同的线路起初看起来并不相同,但它们是.

所以我的问题是:这种平等如何可能?

ceil(k / x) - 1 == floor((k - 1) / x)
Run Code Online (Sandbox Code Playgroud)

c++ java algorithm equality

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

2D 数组通过从 0 到数组大小的位置编号获取行和列

例如,我有一个像这样设置的二维数组:

+---+---+---+---+---+ 
|   |   |   |   |   | 
|0  |1  |2  |3  |4  | 
+---+---+---+---+---+ 
|   |   |   |   |   | 
|5  |6  |7  |8  |9  | 
+---+---+---+---+---+ 
|   |   |   |   |   | 
|10 |11 |12 |13 |14 | 
+---+---+---+---+---+ 
|   |   |OOO|   |   | 
|15 |16 |OOO|18 |19 | 
+---+---+---+---+---+ 
|   |   |   |   |   | 
|20 |21 |22 |23 |24 | 
+---+---+---+---+---+ 
Run Code Online (Sandbox Code Playgroud)

其中 o 是我放置在位置 17 的位置。但是,我实际上是尝试将 o 放置在位置 7 的。我正在接受用户输入这些数字之一来执行此操作。

为了获取行和列的值,我使用

int row = Math.floorDiv(size*size - …
Run Code Online (Sandbox Code Playgroud)

java arrays multidimensional-array

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

在&python中&和<和>等价吗?

在Python 中使用单词and&符号的逻辑或性能有什么不同吗?

python operators bitwise-operators boolean-operations

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

Java FileWriter拒绝覆盖

我很困惑......

public class Testing {

    public static void main(String[] args) throws FileNotFoundException, IOException, InterruptedException {

        System.out.println("Testing overwrite");

        FileWriter writer = new FileWriter("c:\\testing\\testfile.txt", false);

        writer.write("First test");
        writer.flush();

        TimeUnit.SECONDS.sleep(5);

        writer.write("Second test");
        writer.flush();

        writer.close();

    }

}
Run Code Online (Sandbox Code Playgroud)

完成后,文件的内容是:

First testSecond test
Run Code Online (Sandbox Code Playgroud)

根据这里的Java文档,传递给FileWriter值的布尔值False应该导致覆盖而不是附加:Java 6 Filewriter API

我以前遇到过这个问题,而且我用了一个RandomAccessFile来绕过这个问题,但现在它只是让我讨厌!

任何想法或建议将不胜感激,谢谢!

java filewriter

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