RustにいればRustに従え(9) 方程式の求解、Newton法テキトー版mut無for無

Newton_EC
Joseph Halfmoon

前回前々回とPascalが続きました。Pascalにm2を掛ければNewtonという親父ギャク?をものにすべく、今回はNewton法です。アカラサマなmut無、for無で書けました。古くから研究されつくした算法なのでいろいろ注意点がある筈ですが、全部踏みつぶしてしまったヤッツケなコードです。4則演算のみで√2だと。

“RustにいればRustに従え(9) 方程式の求解、Newton法テキトー版mut無for無” の続きを読む

RustにいればRustに従え(8) シェルピンスキーのギャスケット、裏Pascal三角形

Sierpinski64
Joseph Halfmoon

前回Pascalの三角形を描いた後、@rithmety様のご指導あり。iteratorの書き方をお教えいただいた上、段数バグっていた(1段少なかった)件も判明。ありがとうございます。今回はPascalの3角形に基づくシェルピンスキーのギャスケット(近似)の描画です。実はPascalの3角形、意外と難物?だった。

“RustにいればRustに従え(8) シェルピンスキーのギャスケット、裏Pascal三角形” の続きを読む

RustにいればRustに従え(7) Pascalの三角形を計算、mut無、for 1

pascalTriangle
Joseph Halfmoon

前回mut無でmandelbrot集合を描けたのでフラクタルづきました。こんどはお馴染みシェルピンスキーのギャスケットだと。しかしその前にPascalの三角形だろ~。mCn(コンビネーション; 組み合わせ)が3角形にならぶ中学生の問題。2nのPascalの三角形を偶奇で塗り分けるとシェルピンスキーと。ホントか? “RustにいればRustに従え(7) Pascalの三角形を計算、mut無、for 1” の続きを読む

RustにいればRustに従え(6) 吉例mandelbrot集合を描く、mut無、for2

mandelbrot
Joseph Halfmoon

前回そろそろRustも入出力とか地道なところを練習しないといろいろできないじゃん、と痛感しました。そこで画像出力をやってみることに。題材は吉例「マンデルブロ集合を描く」であります。流石に画像出力はmutいるだろ~と思ったらアカラサマなmut無で書けてしまいました。流石にFOR文は2つ。 “RustにいればRustに従え(6) 吉例mandelbrot集合を描く、mut無、for2” の続きを読む

RustにいればRustに従え(5) FIRフィルタの実体たった1行? mut無、for最小

firfiltercode
Joseph Halfmoon

前回の投稿後に再び@rithmety様のご指導ありコードを改良することができました。ありがとうございます。おかげで今回はFIRフィルタの計算に取り組めます。100次のローパスフィルタとな。結構強力っす。でもフィルタの実体はほとんど1行。Rustも強力にして簡潔。例によってアカラサマなmutなし。表示以外のforなし。 “RustにいればRustに従え(5) FIRフィルタの実体たった1行? mut無、for最小” の続きを読む

RustにいればRustに従え(4) フィルタ実験用のサンプル波形生成、mut無、for最小

Joseph Halfmoon

前回投稿後にTwitterで@rithmety様のご指導あり、気になっていたところが解決。ありがとうございます。これでFIRフィルタの計算ができると思ったら、いけません。定数PI(円周率)はどこにいるの?だいたいSIN関数はどこ?頭の固いRust素人(老人)は戸惑うことばかり。今回は被テスト波形を計算するところまで。

“RustにいればRustに従え(4) フィルタ実験用のサンプル波形生成、mut無、for最小” の続きを読む

RustにいればRustに従え(3) 移動平均をmut無、for無で計算。表示にfor使用

VerifyResults
Joseph Halfmoon

過去2回、アカラサマなmut宣言とfor文なしに計算を続けてきましたが、今回とうとうfor文を使ってしまいました。だって結果の表示部分だからお楽にしたかったんだ。まあ計算本体は、吉例にもとづきmut無、for無っす。それがどれほどの意味があるのか知らんけど。まあ縛りをかけた方がRustらしくなるかと?ホントか? “RustにいればRustに従え(3) 移動平均をmut無、for無で計算。表示にfor使用” の続きを読む

RustにいればRustに従え(2) CRC8をmut無、for無で計算する

rust_crc8_ec
Joseph Halfmoon

Rust言語では書き換え可能な変数には mut と宣言しないとなりません。使っちゃいけないわけじゃないけれども。前回はmut無、for無で数値積分をやっつけました。今回はmut無、for無でCRC8を計算してみます。結局、mutの代わりにクロージャ、forの代わりにイテレータが暗躍?しているのだけれども。

“RustにいればRustに従え(2) CRC8をmut無、for無で計算する” の続きを読む

RustにいればRustに従え(1) ∫[0:1] 1/(1+x^2)dx をRustで解く

midpointIntegEC
Joseph Halfmoon

『やっつけな日常』シリーズの中に押し込めていた『RustにいればRustに従え』シリーズ独立であります。頭の固い(C頭と呼称します)年寄には敷居の高いRustをなんとか使えるようになりたいとの一念です。その初回はありがちな数値積分です。Rustらしく、mut無、for無で積分をやっつけました。どうよ。
“RustにいればRustに従え(1) ∫[0:1] 1/(1+x^2)dx をRustで解く” の続きを読む