2022-01-01から1年間の記事一覧

Rust csv をtupleでindex column(1列目)をわけてdesrerializeする

tupleでindex column(1列目)をわけてdesrerializeする ```.rust extern crate csv;#[macro_use]extern crate serde_derive; use csv::ReaderBuilder;use std::error::Error; #[derive(Debug, Deserialize, Eq, PartialEq)]struct Row { value: Vec<i32>,} fn exam</i32>…

環境に最もやさしいプログラミング言語はC。Rustは2位

コンピュータの消費電力とプログラミング言語の選択に相関関係があるかどうか。ポルトガルの大学の研究者グループがそうした疑問に応える論文を発表した。 タイトルは「Energy Efficiency across Programming Languages / How Do Energy, Time, and Memory R…

Rustでcsv deserialize してstruct配列を取得する

deserializeはcsv::DeserializeRecordsIterを返却するので、collectすると取得できる。 型を指定してcollectしないと consider specifying the type argument in the method call のエラーが出る。 extern crate csv; #[macro_use] extern crate serde_deriv…

headerを無視して、deserialize したい場合。 (has_headers falseでskip)

headerを無視して、deserialize したい場合がある。 label,value1,value2 l1,2,4 l2,2,4 で、structは #[derive(Debug, Deserialize, Eq, PartialEq)] struct Row { label: String, value: Vec<i32>, } みたいなケースだ。 こういうときはskipを使ってheaderを無</i32>…

while と loop なぜ二つあるのか 、while trueではだめなのか

while trueとloopの違いはあるが、現段階では理解することはあまり重要ではないとRustチュートリアルにはあるが、どのような違いがあるか?をここで解説する。 http://web.mit.edu/rust-lang_v1.25/arch/amd64_ubuntu1404/share/doc/rust/html/book/first-ed…

rust で 行列のaxisごとのsumをする

行列を仮定してます 方針は 行はシンプルでmap trickを使ってsumする。最後にcollect が必要です 列sumはtransposeseしてからsumする 本格的にnumpy的なことをしたいならndarray的なのを使おう use rayon::prelude::*; pub fn transpose<T: Send + Sync + Copy >(v: &Vec<Vec<T>>) -> Vec<Vec<T>> {</vec<t></vec<t></t:>…