小编Cra*_*mer的帖子

我的scipy.misc模块似乎缺少了imsave

我打开python3解释器并输入

import scipy.misc
scipy.misc.imsave
Run Code Online (Sandbox Code Playgroud)

结果

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'imsave'
Run Code Online (Sandbox Code Playgroud)

名称有变化吗?它在python2中工作正常,但我宁愿不要向后迁移.

我在Lubuntu 13.04上有python 3.3.1,所有模块都是从默认存储库下载的.已安装Scipy并print(scipy.misc.__doc__)显示imsave应该存在.

编辑:

scipy.__version__ 给出0.11.0

from scipy.misc import imsave

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name imsave
Run Code Online (Sandbox Code Playgroud)

scipy python-3.x python-3.3

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

如何测试文件存储的浮点表示?

我将科学数据转储到文件中.目前我只是将它们与它们在内存中的相同表示倾倒.我已经记录了它们是IEEE754,但是我希望在代码中声明这一点,这样如果它被移植到一个奇怪的架构并与我的文档分开(研究代码被传递),它就会在编译时出错.目前我有

static_assert(sizeof(double)==8), "message");
Run Code Online (Sandbox Code Playgroud)

有没有办法测试IEEE754?这可以是静态断言吗?

c++ floating-point c++11

6
推荐指数
1
解决办法
166
查看次数

Java:使用枚举作为数组引用

我想引用一个枚举类型的数组.这在C++(我的起源)中是一个非常标准的东西,但我不确定这是否可能/在Java中是可取的.

例如,我想有一个枚举如:

public enum Resource {
    COAL,
    IRON
}
Run Code Online (Sandbox Code Playgroud)

然后我想像这样引用:

Amount[COAL] // The amount of coal
Price[IRON]  // The price of iron
Run Code Online (Sandbox Code Playgroud)

我不想制作AmountPrice字段,Resource因为我想要按资源类型分组的对象列表(资源订单).手动为每种类型分配一个int Resource并不比public static int final BLAH我觉得更好,没有任何好处.

本质上,我正在寻找标记事物的C++枚举.我意识到这可能是用Java做事的"错误"方式,所以请随意指出正确的Java风格.

java arrays enums

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

MPI非阻塞发送/接收

我很好奇MPI中缺少这个功能:

MPI_Isendrecv( ... );
Run Code Online (Sandbox Code Playgroud)

即,一个非阻塞的发送和接收,任何人都可以告诉我其遗漏背后的理由吗?

mpi nonblocking

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

std :: list中每个元素的大小是多少?

std :: list在其实现中使用链表,列表中的每个元素有多大(减去有效负载)?

通过测试,在Windows 7机器上使用mingw(而不是mingw-64),每个元素占用int的每个元素24个字节.

左边的指针和右边的指针只有4 + 4 = 8字节!并且int只有4个字节(由sizeof(void*)和sizeof(int)确定),所以我很好奇,还有额外的空间吗?

(测试涉及制作许多元素,查看程序的大小,制作更多元素并再次查看程序的大小,取决于差异)

c++ stl

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

不从源函数返回的类中的auto_ptr

请考虑以下代码:

#include<memory>

struct A {
    std::auto_ptr<int> i;
};

A F() {
    A a;
    return a;
}

int main(int argc, char **argv) {
    A a = F();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译时我收到编译错误,(见这里):

error: no matching function for call to ‘A::A(A)’
     A a = F();
             ^
Run Code Online (Sandbox Code Playgroud)

根据我的理解,A::A(A)甚至不允许存在,那么编译器为什么要求它呢?其次,为什么不使用RVO?


如果是因为std::auto_ptr无法从函数返回,为什么以下编译运行?

#include<memory>

std::auto_ptr<int> F() {
    std::auto_ptr<int> ap;
    return ap;
}

int main(int argc, char **argv) {
    std::auto_ptr<int> ap = F();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我不能在我目前的工作中使用C++ 11,因此使用auto_ptr.

c++ auto-ptr

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

标签 统计

c++ ×3

arrays ×1

auto-ptr ×1

c++11 ×1

enums ×1

floating-point ×1

java ×1

mpi ×1

nonblocking ×1

python-3.3 ×1

python-3.x ×1

scipy ×1

stl ×1