2010-01-01から1年間の記事一覧
log関数で一発です。 CL-USER> (log 2) 0.6931472 CL-USER> (log 2 2) 1.0 CL-USER> (log 3 2) 1.5849625 CL-USER> (log 10) 2.3025851
これは、sin関数、cos関数、tan関数というものがあります。 ただ、いまいちな気がします。 2piを越えるとおかしいのかな。 (sin 0) 0.0 ;; うーんどうなってるんだろ。 (sin (* 2 pi)) -2.4492127076447545d-16 (cos 0) 1.0 (tan 0) 0.0
切り上げ、切り捨てにはfloor,ceiling,ffloor,fceilingが使えます。 四捨五入にはround,froundが使えます。 切り上げ 切り捨て 四捨五入 整数 ceiling floor round 少数 fceiling ffloor fround (ceiling 1.5) 2 -0.5 (floor 1.5) 1 0.5 (round 1.4) 1 0.399…
absを使いましょう。 (abs -1) 1 (abs 1) 1
mod,rem,floor,truncateが使える! C言語とちがって余りは正剰余と負剰余の両方が選べます。 正剰余 負剰余 余り mod rem 商と余り floor truncate (mod 5 2) 1 (rem 5 2) 1 (mod -1 3) 2 CL-USER> (rem -1 3) -1 (floor 5 2) 2 1 (truncate 5 2) 2 1 (floor…
はい。これはldb関数を使えば良いですね。 ; ldbは第一引数にしたがってデータを読みます ; 単位はbit ; s : size ; p : position (ldb (byte s p) target) ; 4bit左に移動して1bit読む (ldb (byte 1 4) #b10000) =>1
formatの~Rには以下の機能もあるみたいです パラメータを1つも指定しなかったときは,修飾子の指定により以下の動作をする. * 修飾子なし: 整数を英語の綴り(基数)で出力. * ‘ : ’ 修飾子のみ: 整数を英語の綴り(序数)で出力. * ‘ @ ’ 修飾子のみ:…
GW中なのにも関わらず更新できてない! 腹を切って死ぬべきです。さて掲題の課題ですがformat関数を使えば簡単に実現できそうですね。 ところでformat関数はオプションが多すぎてさっぱり分からないです。 http://super.para.media.kyoto-u.ac.jp/~tasuku/fo…
はい。これは結構簡単だと思われます。 #b10000 ;=> 16 #o20 ;=> 16 #x10 ;=> 16 #16R10 ;=> 16 #XA1 ;=> 161 これ以外にもLispは36進数まで表現できますw #36Rzz ;=> 1295 ね。簡単でしょ?
やっと環境も整備できてきたのでそろそろ再開ですよ!http://www.namaraii.com/rubytips/?%BF%F4%C3%CD 次は数値をやろうかと思います。
どうやら boost::testしたいなら #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MAIN #include <boost/test/unit_test.hpp> して使うのが良さそうです。 ちなみに、静的リンクだとどうもうまく動作してくれなかったので何か別の方法があるのかもしれません。 BOOST_TEST_DYN_LINKを</boost/test/unit_test.hpp>…
色々ネットをあさっていると https://bugs.launchpad.net/ubuntu/+source/boost/+bug/162155 こんな記事がありました....。 The boost documentation is outdated. Please read /usr/include/boost/test/unit_test.hpp which defines "main" (i.e. it is not…
やっとインターネットが繋がったので各種環境の更新をしててboostの更新とかも行ったのですが、その時にどうやらboost::testが使えなくなっていたのでどういうことなのか調べました...。テストの例として、Let's boostにあったテストのコード(下記)を実行し…
鯖復帰したので記念カキコ!
なんかついに長年住んでいたところから引っ越しするらしいです。 その影響でしばらくネット見れないかもしれません。あと、自分のところの鯖を使っている人は鯖が2−3週間落ちているので よろしくお願いします。
仕事がデスマってるせいで更新停滞気味です。なんとかしたいところですね。Common Lispの文字列のやつももう残りわずかなのでさっくりかたづけたいです。
文字を寄せる方法を簡単にですが実装してみました。 (defun make-string-lefted (count target) (let((space-num (- count (length target)))) (concatenate 'string target (make-string space-num :initial-element #\Space)))) (defun make-string-righte…
全ゲ連に参加してきました! 前回初参加して、今回が2回目の参加です。普段ゲーム開発系の話題が出来ないので色々充実できました。ありがとうございます。
どういう処理系を使っているかにもよりますが、最近の処理系ですと問題無くカウントできる気がします。 (length "あああ") 3
これも正規表現ライブラリcl-ppcreを使えばラクチン!
どういう処理系を使って(以下略 (setq *my-strings* "あいうえお") "あいうえお" (subseq *my-strings* 0 (- (length *my-strings*) 1)) "あいうえ"
これは正規表現ライブラリcl-ppcreを紹介するときに紹介しましたね。ここでは省略してしまいまーす。