我在笔记本电脑上安装了Anaconda 3 64位,并在Spyder中编写了以下代码:
import numpy.distutils.system_info as sysinfo
import numpy as np
import platform
sysinfo.platform_bits
platform.architecture()
my_array = np.array([0,1,2,3])
my_array.dtype
Run Code Online (Sandbox Code Playgroud)
这些命令的输出显示以下内容:
sysinfo.platform_bits
Out[31]: 64
platform.architecture()
Out[32]: ('64bit', 'WindowsPE')
my_array = np.array([0,1,2,3])
my_array.dtype
Out[33]: dtype('int32')
Run Code Online (Sandbox Code Playgroud)
我的问题是,即使我的系统是64位,为什么默认情况下数组类型是int32而不是int64?
任何帮助表示赞赏.
在以下示例中:
trait AddStrategy<T> {
fn do_calc(&mut self, a: T, b: T) -> &Adder<T>;
}
struct Adder<T> {
val: T,
}
use std::ops::Add;
fn add<T: Add>(a: T, b: T) -> T::Output {
a + b
}
impl<T> AddStrategy<T> for Adder<T> {
fn do_calc(&mut self, a: T, b: T) -> &Adder<T> {
let x = add(a, b); //<---error: no implementation for `T + T`
self.val = x;
self
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
error[E0277]: cannot add `T` to `T`
--> src/lib.rs:15:17
|
9 | …Run Code Online (Sandbox Code Playgroud)