14092009 life
4章の後半くらいから理解があやしくなった。
何度か読まないといけないな。
14092009 sake
なんというか燗つけるにはまだちょっと暑いし、かといって華やかな酒が吞みたいわけではないしなぁと、久々の焼酎、しかも球磨。

たまにはいいかな。
14092009 life
娘とお菓子を作ってきた。



黙々と蕎麦打ちすんのも好きだけど、子供とお菓子を作るのも結構楽しい。
ジャガイモが伸びてきた。

島おくらも収穫開始。

まわりは白菜植えたりキャベツ植えたりしているのに、自分の畑は空きがなくて出遅れてる感があって焦る。
モロヘイヤとつるなしインゲンのレーンをどけて冬野菜に備えた。 そういえばこの前植えたつるなしインゲンは固くて食えたもんじゃなかった。(実が大きくならずに枯れはじめたし)
大根はちょっと無理そうなのでほうれん草と小松菜を植えようと思っている。
オプションで指定する。
sudo port install swig +ocaml
でも、なんかエラーが出てて、いまのとこうまいこと使えてない。
12092009 OCaml
floatしかべき乗の演算子がないのは何故?
# 2.0 ** 3.0;;
- : float = 8.
int
# 2 ** 3;;
Characters 0-1:
2 ** 3;;
^
Error: This expression has type int but is here used with type float
12092009 OCaml
let rec power m = function
0 -> 1
| n -> m * power m (n-1)
;;
let rec factorial = function
0 -> 1
| n -> n * factorial (n-1)
;;
let rec calc_pi = function
0 -> 3.0
| n -> (float_of_int (3 * factorial(2*n))) /.
(float_of_int ((power 2 (4*n)) * (power (factorial n) 2) * (2*n+1))) +. calc_pi (n-1)
;;
これだとcalc_pi 6ぐらいでneg_infinityになってしまう。あと型で結構つまづく。
普通に求めるヤツ
let mc () =
let x = Random.float 1.0 in
let y = Random.float 1.0 in
if sqrt ((x ** 2.0) +. (y ** 2.0)) <= 1.0 then 1
else 0
;;
let rec count n res = match n with
0 -> res
| _ -> count (n-1) (res + mc())
;;
let calc_pi n =
let res = count n 0 in
(float_of_int res)*.4.0 /. (float_of_int n)
;;
11092009 music
vector loversは良いが、アルバム持っているからな。octogenのもたついてるっぽいリズムがメローでよかった。mirror musicってsilicon soulの別ユニットなのか。
SOMA COMA PART.3SOMAが毎年夏にリリースするエレクトリック・チルアウト/ダウンテンポコンピレーション第3弾が登場 !! 野外レイヴシーズンにリリースされヨーロッパでも人気の高いクラブミュージックファンにフィットする気持ちイイダウンテンポのサマー・テクノチューンを収録。グラスゴーテクノシーンの至宝、アレックス・スモーク、SOMAオーナーのスラムを始め、ブラック・ドッグからアンドリュー・ウェザオールの変名プロジェクト、ブラッドシュガーの90年代の名曲、デヴィッド・ホルムズまでUKテクノシーンのメロウサイドを切り取った注目作 !
11092009 Python
ビュフォンの針でとおもったんだけど、なぜかarcsinのテーラー展開が目に留まったので。
def factorial(i):
return 1 if i ==0 else i * factorial(i-1)
def calc_pi(i):
pi = 0
for n in range(i+1):
pi += 3.0*factorial(2*n)/(2**(4*n)*((factorial(n))**2)*(2*n+1))
print pi
return pi
if __name__ == "__main__":
print calc_pi(16)