Jon*_*röm 0 arrays segmentation-fault rust
我不知道Rust,但我想研究科学计算中的表现,将其与Julia和Fortran进行比较.我设法编写了以下程序,但问题是当MAX大于1022 时我得到运行时分段错误.有什么建议吗?
fn main() {
const MAX: usize = 1023;
let mut arr2: [[f64; MAX]; MAX] = [[0.0; MAX]; MAX];
let pi: f64 = 3.1415926535;
// compute something useless and put in matrix
for ii in 0.. MAX {
for jj in 0.. MAX {
let i = ii as f64;
let j = jj as f64;
arr2[ii][jj] = ((i + j) * pi * 41.0).sqrt().sin();
}
}
let mut sum0:f64 = 0.0;
//collapse to scalar like sum(sum(array,1),2) in other langs
for iii in 0..MAX {
let vec1:&[f64] = &arr2[iii][..];
sum0 += vec1.iter().sum();
}
println!("this {}", sum0);
}
Run Code Online (Sandbox Code Playgroud)
所以在终端中没有错误'Segmentaion fault'.我正在使用Ubuntu 16并在www.rustup.rs上安装命令.它是稳定的版本rustc 1.12.1 (d4f39402a 2016-10-19).