Latest update on 2018年3月7日 (水) at 15:42:47.
【第792回】 いろいろ対応(2014年9月22日)
- 新大阪から三ノ宮までJR快速,三宮センター街東口バス停からいったんバスで帰宅し,荷物を置いて着替えてから再びバスで出勤。帰宅途中,日刊スポーツで昨日のプロ野球情報を見たら,高橋周平選手がタイムリーヒットと犠牲フライで,ともに勝ち越し点となる2打点を挙げていた。リリーフ陣は相変わらずいい仕事をしているので,今後もこういうチャンスに強いバッティングをしてほしい。
- 出勤してみると,やはりwer-jのサーバが自動起動していなかっただけでなく,ネットワークが不調だった。wer-jサーバはスイッチを手動で入れるついでにBIOSを調べてみたが,電源ONで自動ブートする設定が見つからなかった。あるはずなんだがなあ。ともあれ,とりあえず起動はしたのでOK。
- 次はネットワーク不調の問題への対処。ここに詳しく書くわけにはいかないが,2時間ちょっとかかって原因を突き止め,裏技的に応急処置することができた。抜本的解決のための手も打たなくては。
- 裏技で思い出したが,裏RjpWikiの「多倍長精度計算結果を見やすく出力」と,その元になった,r-statistics-fanの日記の「Rで多倍長精度計算〜とりあえず10000の階乗を計算してみる」には明記されていないが,もちろん10000の階乗を計算するだけなら,library(gmp); factorial(as.bigz(10000))とするのが簡単。たぶん,整数の多倍長演算にはRmpfrパッケージよりgmpパッケージの方が向いていると思う。sink("factorial10000.txt")のようにしてから実行すれば,指定した名前のテキストファイルに結果を書き出せる。その後で出力をコンソールに戻すにはsink()とすれば良い。10桁ごとにスペースを入れて100桁ごとに改行させたければ次のようにすると思う。
library(gmp)
longfact <- function(x, n=100, m=10) {
z <- factorial(as.bigz(x))
siz <- ceiling(log10(z))
p <- n - (siz %% n)
res <- paste(rep("_", p), sep="", collapse="")
res <- paste(res, as.character(z), sep="", collapse="")
q <- (siz + p)/m
for (i in 1:q) {
cat(substr(res, (i*m)-m+1, (i*m)))
cat(ifelse((i %% m)==0, " \n", " "))
}
}
longfact(10000)
- 昨夜長野駅を出る前に,平安堂で,小林健一郎『プログラミング20言語習得法』講談社ブルーバックス,ISBN 978-4-06-257881-3(Amazon | honto | e-hon)と,宮内泰介編『なぜ環境保全はうまくいかないのか:現場から考える「順応的ガバナンス」の可能性』新泉社,ISBN 978-4-7877-1301-8(Amazon | honto | e-hon)を買ってきた。前者はAdaとかSmalltalkといったかつての先進言語に加え,HaskellとかScalaといった近年の先進的な言語(さすがにGoとかF#とかJとかOzとかErlangは扱われていないが)について,非常に簡単な(それだけに実用性は皆無に近い)例を使い,Windows環境で使える実装(処理系)の使い方とともに説明してくれている本。ぼくのプログラミングスキルは,N88BASICとTurbo Pascalで覚え,CとC++は独習して1000行くらいのコードからなるツールを何度か作ったことがあり,PerlやAwkやPHPは必要に応じて短いスクリプトを書けるくらいのレベルだが,各言語の特徴を強調した書き方がされているように思った(流し読みした感じでは)。後者は去年の3月に出ていたとは知らなかったが,たくさんのケースレポートと終章における宮内さんの鋭いまとめからなる良書だと感じた。
△Read/Write COMMENTS
▼前【791】(今日も夜行バス(2014年9月21日)
) ▲次【793】(秋分の日も出勤(2014年9月23日)
) ●Top
Notice to cite or link here | [TOP PAGE]