Rust(ラスト) – √2 神の降臨

講演日:
11月9日(土)
時間:
14:00-14:50
Room:
ショーケース1
団体名:
awk4j
登壇者:
姫井邦夫

Rust(ラスト)とは?
RustはC/C++に代わる新しいシステムプログラミング言語として開発されました。
「安全性、速度、並行性」の3つに注力されており、
Firefoxなどで知られるMozillaの公式プロジェクトで開発されているオープンソース言語です。

「旦那、気合いが入ったタイトルですね?」
『そやな、神コードを餌に神を呼んで、接待する話やからな!』
『神コードとはハッカーなら絶対見ておけ、読んでおけというコード』 ^^);

① 最強の御もてなし
1. 最強の素材: Rust + Rug + gmp-mpfr-sys + GNU libc
GNU Multi-Precision Library(GMP)を使用した数値計算
2. 一流シェフによるアルゴリズム
・1/√A のニュートン法による漸化式 Xn+1 = Xn*(3-A*Xn^2)/2
数ある式の中から割り算の少ない式を選定
・コンテストで 200万桁叩き出し殿堂入りしたコード(Pike)
・整数演算を採用 (Calc でのシュミレーションで見つけた)
3. 最強のAPI、Rugに無いものは GMPをしつこく探索する
4. やってみな判らん! 全てにベンチマークは必須!

②「ミステリーサークルの役者はこれで揃いましたね!」

③ ~プログラムコンテストの課題 √2 を解きます ~
Rust の場合 (ローカルルール)
・最大出力桁数: 無制限。(通常:800万桁, 2.71sec、最大:5億桁, 375sec)
・Time limit: 2.75s
・Source limit: 4,096B (テストコードを含まない)
・外部ライブラリの利用: rug, gmp_mpfr_sys, libc

『当日は、近所の迷惑にならない範囲で、拍手やブーイング、鐘太鼓などで賑やかにお願いします』
(励みになります)