August 03, 2006TMS320C6000用行列ライブラリTexas Instrumentsの浮動小数点DSP TMS320C6713を使ってみようかと考えています。以前からSH4もやっているのですが、やはり汎用プロセッサだと色々とシステムが煩雑になりつつあるので、用途を特化した上でDSPもいいのではないかと考えている今日この頃です。 このDSPですが、開発環境(Code Composer Studio)についてくるコンパイラがC++をサポートしているので、コーディング効率はなかなか良好です。ISO C++のフルサポートではないので、Expression Templateなどの高度な機能の利用や、iostream等のストリームサポートがないなど、一般的なC++に比べると見劣りしますが、基本的な部分はだいたい抑えられているのでDSPでできることは一通りC++で実装できると思います。 とりあえずDSP事始として、PCで利用している自作行列ライブラリを移植してみることにしました。この行列ライブラリ、uBlasなどの高度なパッケージに比べると低速で機能的にも見劣りしますが、なかなか移植性が高いので気に入って使っています。 使い方ですが、 #include "matrix.cpp"
すれば、すべての定義が利用できます。また、TIから6700用のサポートライブラリが提供されているので、これらのヘッダを今回のコード以前にincludeすれば最後に。利用される方がいましたら、是非感想をお聞かせ願いたく思います。 ※その後、恒例になりつつある基板設計をはじめました。 ※※その後、バグが確認されましたm(_ _)m バグフィックス版をリリースしました。 August 06, 2006Boost::SpiritでCMS計画 (3)
[Computer]
Boost::spiritという変態的なライブラリを用いてWIkiライクなContents Management System(CMS)を作ろうという計画、前回の記事からかなり間があいてしまいましたが、ぼちぼち作業を再開しました。今回はその経過をお知らせしようと思います。 この計画の肝は、いかに楽をして構造化された文章を作るかというところにあるわけで、その為の記法、並びにその実装が重要となってくるわけですが、気がつけばその核の技術たる記法に名前をつけていませんでした。 現段階でのFDoc記法は、前回の記事で書いたのとほぼ同じですが、
せっかく定めた記法なので、生涯長く付き合っていこうかと考えていますが、そのためには単一のFDocを元にHTMLやらPDF(の元となるTeX)やらが生成できて欲しいところです。こうなるためには、FDocを読み込んで文章構造を認識するパーサの部分と、パーサによって生成したモデルを元にHTMLやらTeXやらを出力するレンダリングエンジン(レンダラー)の部分を切り離す必要があります。そこで今回は、前のコードを改造してパーサとレンダラー(例えばHTML)を切り分けました。プロジェクト全体のソースはこの辺りにおいておきます。 この計画の今後の展開ですが、2つのことを考えています。
August 09, 2006Googleブランドの不正使用このサイトではGoogle AdSenseという広告バナーを掲載しているのですが、少し前にそのGoogle AdSenseチームからメールが来ました。
なにやら『Googleブランドの不正使用』をしてしまっているらしく、このままだとAdSenseの利用を停止される恐れがあるようです。いちおう対策を講じたことにより、現在この問題は解決しましたが、同じ問題に遭遇されている方もいるかもしれないので、解決に至るまでに行った対策や考察を残しておきたいと思います。 続きをどうぞ。 August 13, 2006室内飛行機 自律旋回飛行に成功?室内飛行機の自律飛行を検討していたわけですが、基板等の各コンポーネントがとりあえず完成し実験をすることになりました。当初の予定では、それらを活用して体育館内で室内飛行機を自律旋回飛行させようということだったわけですが、あっけなく自律旋回飛行してしまいました。といっても問題点が激しくあるのですが(笑) 何が問題なのかは続きをどうぞ。 August 17, 2006コマクサ足の靭帯を怪我して今年の山シーズン前半は絶望的でしたが、ようやく回復してたのでリハビリを兼ねて蔵王にハイキングに行ってきました。道を少し外れるとコマクサが咲いていました。 August 21, 2006August 24, 2006ワードをTeX化するテクニック(位置あわせ編)
[Computer]
最近、提出する文章の最終出力がPDFで要求されることが多くなりました。そういうわけで、文章は品質にこだわってTeXで作成、dvipdfmxで出力するようにし、M$のワードからは卒業しました。単にAdobeのAcrobatが手元になくて困っているだけ、という話もありますが(笑)。 その際特に問題になるのが位置あわせです。元のワードファイルには嫌な奴がいて、例えば入力欄が表形式になっていて、空白の位置指定(例えばここの空白は縦に何mm空けてね)等がばっちりされているものがあります。そこで今回はTeXで如何に位置あわせを行うか考えてみました。 続きをどうぞ。 続きを読む "ワードをTeX化するテクニック(位置あわせ編)"August 28, 2006makeでソースとバイナリを違うディレクトリに
[Computer]
先日、室内飛行機の自律飛行プロジェクトの成果物としてH8/3694のフレームワークを公開しましたが、その際、自動コンパイル(ビルド)をどのように構成するかで少し悩みました。 オープンソース系の大きなプロジェクト(apacheなど)をみると、ソースとそのコンパイル結果であるバイナリは同じ場所に展開されるのが常套手段のようです。これはコンパイラが分割コンパイルをサポートしており、ビルドを行うのにメジャーなプログラムであるmakeがこのような方法を簡単に実現できるためだと思います。 TARGET = hoge
SRCS = $(shell ls *.c) OBJS = $(SRCS:.c=.o) all : $(TARGET) %.o : %.c $(TARGET) : $(OBJS) clean : .PHONY: all clean このスクリプトを使ってmakeを実行すると、(ソース).cは同じディレクトリに分割コンパイルされて(ソース).oというバイナリとして生成されます。そして(ソース).oが合わさって最終的にhogeという目的のブツが手に入ります。 ところがソースを書くのに別にeclipseなどの統合開発環境(IDE)を使用している場合、ソースとバイナリが同じディレクトリにあると、使用上鬱陶しいことがあります(例えばファイルを選択する際など)。eclipseならフィルターで消すことができますが、根本的な解決にはならないので、Visual Studioのようにバイナリを別ディレクトリに生成した方がよいのではないかと考えました。 続きをどうぞ。 続きを読む "makeでソースとバイナリを違うディレクトリに" |
かれんだ~
スポンサード リンク
|