info

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

2Dゲーム用の重力計算モジュール作った、google test試しに使ってみた

moveable.hh #include <cmath> #ifndef _MOVEABLE_H_ #define _MOVEABLE_H_ namespace moveable { //いろいろな定数値、後でcommon.hに入れてもらう const float PI = static_cast<float>(atan(1.0) * 4); const float RAD = PI / 180;//HACK 30度 = 1/6ラジアン const flo</float></cmath>…

アッカーマン関数+メモ化をいろいろな言語で

wikipediaから数式見て書いた http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%83%E3%82%AB%E3%83%BC%E3%83%9E%E3%83%B3%E9%96%A2%E6%95%B0 Scheme(Gauche) (ack 4 2)でメモリ1Gほど使ってアロケートエラー(スタックオーバーフローかもしれないけど、わからな…

著作権とかにひっかかるかもしれないけど、適職診断サイトの結果貼ってみる

http://haa.athuman.com/personal_shindan/パーソナリティ傾向 あなたは心の働きが強い部類に入る方です。心の働きが強いと以下に説明される傾向が表れやすく、他者への影響も大きい傾向があります。あなたのエゴグラムの特徴は、どの側面もほどほどの高さで…

luaによる関数型風プログラミング

いろいろ再帰 function fact (x) if x == 1 then return 1 end return x * fact(x - 1) end function triangle(x) if x == 0 then return 0 end return x + triangle(x - 1) end function fib (x) if x < 2 then return x end return fib(x - 1) + fib(x - 2…

クロージャーの何がうれしいの?

http://practical-scheme.net/trans/icad-j.html ここの、アキュームレータージェネレーターのコードを見てもイマイチ理解できない人へ参照を意識すれば、遠くの所の変数に副作用をおよぼすことができる、クラスでは大袈裟だと思う所に作るのが吉? ツッコミ…

aescm使ってみた

aescmってのはscheme(他の言語でも使えるみたい)で使える、Rubyで言う所のerb、Perlで言う所のTemplate Toolkit。 普通にテキストを書いていって、テキストを繰り返したい時や一部だけ書きかえたい時プログラムを貼りつけられる。使ってる処理系はgauche 0.8…

lua5.1のプラットフォーム間での互換性維持について(主に型のサイズについて)

参考 http://hammm.blog21.fc2.com/blog-entry-55.html luaではconfig.hをつくって、そこでコンパイル時にちゃんとサイズが決まるようになってる VMのインストラクションのサイズを追っていくとllimints.h http://www.lua.org/source/5.1/llimits.h.html typ…

gitの使いかたにコツを覚えはじめたのでgithub再開してみた

とりあえず、昔作りかけだったLispを公開してみようと思う。 http://github.com/yppp/HSLispeval.c applyとevalがある所、マーク&スイープのために自作スタックにしてみようかと思ってたけど、それで詰んでる。hslisp.h データ構造定義hslisp.y hslisp.l fle…

ライブドアインターンに受かったポーカーのRubyスクリプトを貼ってみる

自分の動作環境 $ruby -v ruby 1.9.1p243 (2009-07-16 revision 24175) [i686-linux] #!/usr/bin/env ruby # -*- coding: utf-8 -*- class Game def initialize @deck = Deck::new #山札 @playerA = Player::new("A") #プレイヤー @playerB = Player::new("B…

ICPCのdpcmデコード問題解いた

http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/description.jsp?id=2199問題解いた物を改造してコードを読みやすくして、標準エラーに最小二乗和、標準出力にデコードしたバイナリを吐くようにした ここのファイルをデコードするとノイズの後、ゆっくり…

やっとデバッグしたハッシュバケツ挿入ソート貼る

とりあえずやり切った、挿入ソートの部分を大きくすると時間がのびた所までは確認した、きたない #include <stdio.h> #include <stdlib.h> #include <string.h> #include <limits.h> struct NVtab { int num; struct NVtab *next; }; enum { INIT = 4096, GROW = 2 }; char* fileGetLine(FILE*); sta</limits.h></string.h></stdlib.h></stdio.h>…

Lisp(scheme)のどこがうれしいの?

言語オタで無い人向けに説明するための、自分の中でのまとめ1.関数がファーストクラスオブジェクトでなにがうれしいの? 高階関数で、小さい問題のためにわざわざクラスを作るほどコードが肥大化しない。少し挙動が違うハンドラとかコールバックとか作ってい…

ハッシュテーブルを使ったバケツソート+挿入ソートをあるていどデバッグした

ねむいからソースはまだ