小编leo*_*loy的帖子

相位相关

如何通过2幅图像的相位相关(使用fft)确定旋转角度?http://en.wikipedia.org/wiki/Phase_correlation中给出的算法返回线性移位,而非角度.它还提到必须将图像转换为对数极坐标以计算旋转.如何在python中实现这种转换?和转换后的算法保持相同的步骤吗?

python fft correlation

5
推荐指数
0
解决办法
5095
查看次数

如何使用随机位来模拟公平的26面模具?

如何使用随机数生成器给出位(0或1)来模拟公平的26面模具?我想使用比特流来挑选英文字母的字母,这样任何一个字母出现的几率与任何其他字母的几率相同(我知道真实的单词不是那样的,并且每个字母都有特定的频率分布)信,但这里没关系).使用二进制0/1决策从集合AZ中公平选取字母的最佳方法是什么?我可以想出几种方法将位映射到字母上,但对我来说并不是很明显它们不会有偏见.有一种已知的好方法吗?

random probability

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

如何接受超时套接字

是否存在超时交叉平台soulution以接受客户端使用accept功能而无需将套接字设置为非阻塞?

我知道我应该使用select它的功能,但我做错了什么?

SOCKET NativesAcceptClient(SOCKET s, int timeout)
{
   int iResult;
   struct timeval tv;
   fd_set rfds;
   FD_ZERO(&rfds);
   FD_SET(s, &rfds);

   tv.tv_sec = (long)timeout;
   tv.tv_usec = 0;

   iResult = select(s, &rfds, (fd_set *) 0, (fd_set *) 0, &tv);
   if(iResult > 0)
   {
      return accept(s, NULL, NULL);
   }
   else
   {
     //always here, even if i connect from another application
   }
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

如何解决?谢谢!

c linux windows

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

Deflater.setLevel()有效吗?

Deflater.setLevel()对我来说不能正常工作.

static void test1() throws Exception {
     byte[] output = new byte[20];
     Deflater compresser = new Deflater();
     // compresser.setLevel(Deflater.BEST_COMPRESSION);
     compresser.setInput("blah".getBytes("UTF-8"));
     compresser.finish();
     int len = compresser.deflate(output);
     System.out.println("len="+ len+ " " +Arrays.toString(output));
}
Run Code Online (Sandbox Code Playgroud)

上面的工作对我来说没问题(Java 7),但是当我取消注释该compresser.setLevel()行时,它会中断(deflate()返回0个字节).任何压缩级别都会发生同样的情况,除了DEFAULT.更具体地说,当级别集与构造函数中设置的(显式或隐式,如此处)相同时,它只"工作"(相反,它是无害的) - 也就是说,它只能在它无用时才能使用.

请参阅Ideone上的示例.

这个问题指出了同样的问题,并且接受的答案基本上说:不要用setter设置级别,在构造函数中执行.远非令人满意,IMO - 为什么setLevel()存在?它坏了还是我们错过了什么?

java deflate

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

如何在 Pipfile 中指定特定于平台的附加功能或版本?

文档“的Pipenv高级用法”,在“指定基本上什么”一节中,介绍了如何包括包装的要求,有条件的操作系统平台,在Pipfile,如:

pywinusb = {version = "*", sys_platform = "== 'win32'"}
Run Code Online (Sandbox Code Playgroud)

根据平台的不同,当想要为包指定不同的版本或选项时,不清楚该怎么做。

具体来说,我有这个要求:

faust = {version=">=1.10.1", extras=["aiodns", "ciso8601", "cython"]}
Run Code Online (Sandbox Code Playgroud)

我想排除ciso8601Windows 中的可选附加项。

如果我写

faust = {version=">=1.10.1", extras=["aiodns", "ciso8601", "cython"], platform_system = "!= 'Windows'"}
faust = {version=">=1.10.1", extras=["aiodns", "cython"], platform_system = "== 'Windows'"}
Run Code Online (Sandbox Code Playgroud)

我收到错误: tomlkit.exceptions.KeyAlreadyPresent: Key "faust " already exists.

另外,我想在setup.py(install_requires部分) 中做同样的事情。

python pip pipenv pipenv-install

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

想出一个可变长度的字符串?

我有一个字符串的MD5哈希值,存储为String.我正在写一个小程序,通过蛮力找出原始字符串.

我想循环遍历一个子集char.

以下代码适用于何时String.length() == 0.

我无法弄清楚如何编辑此代码以使用可变长度Strings.我觉得我在递归的正确轨道上,但不能再进一步了.

我有以下代码:

    public void attempt(String initial, String md5) {

    for (char c = ' '; c < '~'; ++c) {
        attempt = initial + Character.toString(c);
        generatedMd5 = generateMD5(attempt);
        System.out.println(attempt);
        if (hashesMatch(md5, generatedMd5)) {
            break;
        } else attempt(attempt, md5);
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:我应该提到这是关于MD5的学术研究.

java string recursion md5

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

string - PHP中的数组歧义

我朦胧地回忆起,从我对PHP文档(超过10年前)的第一次阅读中,访问数组($string[0])中的字符的类似数组的语法带来了一些含糊不清或未定义的行为.

O'Reilly PHP Pocket Reference(第2版)指出:

为了解决字符串和数组之间的歧义问题,引入了一种新的语法来从字符串中取消引用单个字符:

$string{2}

此语法等同于$string[2],并且是优选的.

我明白这$string[2]可能会令人困惑,但我不确定它是如何模棱两可的?

此外:我想知道新语法 如何$string{2}消除模糊/混淆,考虑到花括号(显然)也适用于"真实"数组.

php arrays string

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

用于Java的C兼容printf输出

我想在Java和C中将float/double转换为字符串,这样输出既一致用户友好.

通过"用户友好",我的意思是字符串应该是人类可读和声音:有效数字的最大数量,以及一些适当时自动切换到科学记数法(双倍可以跨越所有有效范围).

通过"一致",我的意思是Java和C 中的字符串应该完全相同(如果它们非常罕见,我会容忍一些例外).

为什么不简单地使用一些printf格式字符串"%.5g"?这几乎有效.但遗憾的是,精确字段的含义在Java和C中是完全不同的.此外,从科学记数到科学记数法的转换不是很一致,甚至格式本身也不是(指数的2或3位数......).不同的C编译器有时会产生不同的结果.

差异的例子 "%.5g"

double                  Java %.5g         gcc %.5g      tcc %.5g
1234.0                  1234.0            1234          1234 
123.45678               123.46            123.45678     123.46
0.000123456             0.00012346        0.00012346    0.00012346
0.000000000000123456    1.2346e-13        1.2346e-13    1.2346e-013
Run Code Online (Sandbox Code Playgroud)

我可以使用C或Java(或两者)编写函数,但我想知道是否有人已经处理过这个问题.我不太关心性能,但是对于C编译器的可移植性是肯定的.

c java floating-point printf

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

Java Deflater 中的 SYNC_FLUSH/FULL_FLUSH 参数:与 DEFLATE 块的关系?

在 Java 7 中,Deflater添加了对一些压缩参数(模式:FULL_FLUSH, SYNC_FLUSH)的支持。我猜它们对应于标准 API 中的Zlib 类似常量(尽管这个有更多模式)。

我的疑问是这些模式如何与 DEFLATE 流的“块”相关(这些块是独立压缩的,除了块内的指针可能指向前一个块的原始子字符串)。

这些模式中的一种(或两种)是否意味着刷新终止(非最终)DEFLATE 块?调用者可以预测和/或建议这些块边界吗?

具体来说,我想告诉Deflater对象以下内容:“我将以N预定长度 ( M) 的部分为您提供原始字节,并且因为我知道这些部分很长并且在统计上是不同的,并且因为我知道有在独立压缩它们时几乎没有松动和获得一些好处,我建议您将它们压缩在单独的 DEFLATE 块中”。我可以这样做吗?

java zlib deflate

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

抑制换行符会破坏 JSX。为什么?

const addForm = <Formik> 
  {(props) => (
    <Form>
        (ommited...)
    </Form>
  )}
  </Formik>;
Run Code Online (Sandbox Code Playgroud)

这按预期工作。令我惊讶的是,这(第一个换行符被抑制)并没有

const addForm = <Formik> {(props) => (
    <Form>
        (ommited...)
    </Form>
  )}
  </Formik>;
Run Code Online (Sandbox Code Playgroud)

我明白了Error: React.Children.only expected to receive a single React element child.

这是预期的行为吗?我该如何理解呢?

jsx reactjs

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