2010-01-01から1年間の記事一覧
この記事はC++ Advent Calendar jp 2010 : ATNDの参加記事です軽い気持ちでAdvent Calenderに参加してしまった事を若干後悔しながら この記事を書いておりますが、なにぶん僕はそんな変態プログラミングが出来るわけでもないですし、変態じゃないですし、 そ…
札幌でのC++erのコミュニティーとして札幌C++勉強会を作成しました。 当面は、大きな目標として来年5月の勉強会(Boost.勉強会かも)に向けて運営していきたい思っております。 興味がありましたらぜひご参加くださいませませ。 Google グループ
このエントリーで紹介したBoost.忘年会を開催しました。 会場は大通りにあるリストランテ ZENZEROと言うところで、個室が若干狭く感じましたが、6名なので全員が顔を合わせて話せるということでそんなに問題はなかったかなと思います。 ドタキャンが無かった…
PlaySpeedTest.zip - Google ドライブ 以前ちらっとプレビューしたアプリです。(未完成) PortAudioのDLL無いと動かないと思います。あれって再配布していいんでしょうか? LPFのタップ数変えると落ちるかも。 ピッチシフトかけるとリバーブ掛かっちゃいます、…
Galaxy Sに最初から入っている標準ブラウザさんはアップロード出来るファイルに制限があって、画像や音楽しか選択できないので、そんな人はOpera miniとか入れたら幸せになれるらしい。他のAndroid携帯のことは存じませんが。
Ooura's Mathematical Software Packages 高速なFFTライブラリとして有名な大浦先生版FFTを使ってみたのですが。こちらにあるように 一般的なFFT(DFT)と比べ虚数部の符号が逆になっている。 だそうで。パワースペクトル出すだけのプログラムとかなら意識する…
http://efreedom.com/Question/1-1642028/Name-Operator こういう書き方好きです。
const配列をTemplate Meta Programmingで初期化して参照テーブルにしたかった。 template<int N> struct table { static const int value[N]; }; template<int N> const int table<N>::value[N] = /*???*/; int foo(int n) { return table<10>::value[n]; } みたいなことがで</n></int></int>…
前回の記事はわざわざ POD型用と、そうじゃない型用に2種類作らなくてもboost::call_traitsを使えばいいのですね。参照:letsboost::call_traitsあ、タイトルはこちらから。追記:boost::call_traitsは引数のテンプレート型を型推論出来ないそうで、引数には使…
C++03では、左右両方のオペランドが正でないときは/や%の挙動が実装依存になるので、指定した挙動での除算と剰余を求める関数(+alpha)を作ってる。hwm/arithmetic.hpp #ifndef HWM_ARITHMETIC_HPP #define HWM_ARITHMETIC_HPP #include <cmath> #include <boost/assert.hpp> #include <boost/mpl/and.hpp></boost/mpl/and.hpp></boost/assert.hpp></cmath>…
深いコピーを行うポインタ。 使うかどうか分かんないけど、参考にしたソースの通り、pimplには使えるかも。深いコピーに合わせて深い比較(deep comparison)も行います。 型はCopyConstructibleで。完全型云々辺りはよく分からないのでもう少し調べてみよう。…
仕事の効率を上げるためにプログラマがするべきたった一つのこと みなさんはどうしても気分が乗らない、調子が出ない、やる気が起きない、そして、コーディングが進まない、 そんな日はありませんか?
hokkaido.pm#3に行ってきた。前は#1に参加したのでこれでhokkaido.pmには2回目の参加(#0も含めれば3回目になるか)今回は初心者向けセッション中心ということで、普段からPerl触っているわけじゃないので全然上達しない僕にしてみればとてもありがたい内容で…
Boost.忘年会2010@sapporo : ATND http://sites.google.com/site/boostjp/study_meeting/year_end_party2010_at_sapporo 参加者募集中です。事の発端は... window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.tw…
坂本真綾のイージーリスニングの最後のトラック。 カラオケで気持よく歌える感じで好きな曲です。ちょっとした書き間違いとか、 甚大なコピ間違いとかあるかも。 あと、「このCはAmなんじゃねぇの?」とか 「こいつwwwここ間違えてやがるwwwワロスww…
こんな動画があったりして、 あの蝿たちはエイリアスでも起きてんのか??とか知りませんが、DSP勉強中で こんなものを作ったので、↑の動画みたいに音変えてみようと。はい。 高くすると こんな感じ。 うん、いい感じに胡散臭い。 ちょっとだけ高くしたもの …
大学でDTMサークルやったりして曲を作っているので、myspaceアカウントを作って曲をうpした。 hotwatermorning | Listen and Stream Free Music, Albums, New Releases, Photos, Videos どうにもmyspaceってごちゃごちゃしてて好きにはなれないけど...
携帯が壊れたので、いっそのことつるぺたスマートなやつにした。 小ぶりだが形のいい膨らみ(注:ボタン)や、ささやかに主張する突起(注:ボタン)もないので入力がずれる。
Boost.ChronoでTrace - Faith and Brave - C++で遊ぼう chronoがライブラリにまだ入っていないので導入はちょっと・・・ ということで作った。 車輪の再発明臭いけど気にしない。elapsed_time.hpp #pragma once #include <algorithm> #include <boost/current_function.hpp> #include <boost/format.hpp> #include <boost/function.hpp> #in</boost/function.hpp></boost/format.hpp></boost/current_function.hpp></algorithm>…
msvc9.0で書いてたコードをicl11.1でコンパイルしてみようとしたら、 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = …
頭こんがらがります。 時間領域 周波数領域 ブロック全体の最後に0詰め 周波数補完 サンプル補完 ナイキスト周波数の辺りに0詰め サンプルごとに0詰め サンプリングレート変換(折り返しあり) ブロック繰り返し 周波数ごとに0詰め
#include <iostream> #include <boost/preprocessor/repetition/repeat.hpp> #include <boost/preprocessor/arithmetic/add.hpp> #include <boost/preprocessor/cat.hpp> #include <boost/preprocessor/stringize.hpp> #define TEST_MAX 229 #define MAX_CLASS BOOST_PP_CAT(A, TEST_MAX) struct MAX_CLASS; struct A0 { st…</boost/preprocessor/stringize.hpp></boost/preprocessor/cat.hpp></boost/preprocessor/arithmetic/add.hpp></boost/preprocessor/repetition/repeat.hpp></iostream>
Boost.Filesystem v3調べ物メモ - Faith and Brave - C++で遊ぼう removedアダプタは僕も欲しいかも・・・! #ifndef HWM_REMOVED_HPP_ #define HWM_REMOVED_HPP_ #include <pstade/oven/detail/base_to_adaptor.hpp> #include <pstade/oven/detail/filter_iterator.hpp> #include <pstade/result_of.hpp> #include <pstade/oven/range_value.hpp> #i…</pstade/oven/range_value.hpp></pstade/result_of.hpp></pstade/oven/detail/filter_iterator.hpp></pstade/oven/detail/base_to_adaptor.hpp>
前々回、こんなのを作ったけど、any_rangeを使ったりしてなんだか汚い感じでしたし、 counting rangeのDifferenceかなんかの型がmsvcでwarning:4244を出したりして微妙だったので改良を。 #ifndef HWM_ENUMERATE_HPP_ #define HWM_ENUMERATE_HPP_ #include <pstade/result_of.hpp> </pstade/result_of.hpp>…
オウフ・・・ using namespace pstade::oven; int v[] = { 1, 2, 3, 4, 5, 6, 7 }; int a = 4; BOOST_AUTO(it, find(v, a)); return (it == v|end) ? *it : -1; なんか通らない通らない、何がおかしいのやらってよくわかんないけどどうしたもんだって思っていたら…
enumerate.hpp #ifndef HWM_ENUMERATE_HPP_ #define HWM_ENUMERATE_HPP_ #include <boost/tuple/tuple.hpp> #include <pstade/pass_by.hpp> #include <pstade/result_of.hpp> #include <pstade/oven/any_range.hpp> #include <pstade/oven/counting.hpp> #include <pstade/oven/distance.hpp> #include </pstade/oven/distance.hpp></pstade/oven/counting.hpp></pstade/oven/any_range.hpp></pstade/result_of.hpp></pstade/pass_by.hpp></boost/tuple/tuple.hpp>
ぼーーーー( ゚ ρ ゚ ) #include <pstade/oven/generation.hpp> #include <pstade/oven/algorithm.hpp> #include <pstade/oven/regular.hpp> #include <cmath> #include <cstdio> struct generator { typedef double result_type; result_type operator()() const { a_ += 1.0; return a_; } generator() : a_(0.) {} private: mut…</cstdio></cmath></pstade/oven/regular.hpp></pstade/oven/algorithm.hpp></pstade/oven/generation.hpp>
0と1を次々返す方法 - When it’s ready. C++らしく書けばこうかな #include <iostream> struct switcher { switcher(bool p = true) : p_(!p) {} operator bool() { return p_ = !p_; } private: bool p_; }; int main() { switcher sw; std::cout << sw << std::endl;</iostream>…
カレントディレクトリ以下からC++のソース、ヘッダを見つけて列挙 use strict; sub FindFile { my ($dir, $pred, $operator) = @_; my @list = (); opendir(DIR, $dir) or die("Can not open directory : $dir ($!)"); @list = readdir(DIR); closedir(DIR);…
メモ。 Perlでクラスを作ったときに配列のメンバ変数を持ちたい時。 my $self = { arr_ => [@list] }; でハッシュに入れて foreach (@{ $self->{arr_} }) { print $_ . "\n"; } みたいにして使う。[]で配列の無名リファレンスを作ってスカラに代入、 @{}で配…