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

入れ子にすればN^2個に展開

#include <iostream> template <typename... Ts> int f(Ts... i) { int k = 0; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-value" (... , (i, (... , (++k, i)))); #pragma GCC diagnostic pop return k; } int main() { std::cout << f(0) << std::endl; </typename...></iostream>…

Folding-expressionを用いてparameter pack長のindex_sequenceを構築する

再帰深度がO(1)に抑えられる.(趣味) melpon.org #include <type_traits> template <int... Ns> struct V; template <int N, int... Ns> struct V<N, Ns...> { template <int M> V<N + 1, N, Ns...> operator +(V<M>); }; template <> struct V<> { template <int M> V<0> operator +(V<M>); }; template <typename... Types> struct S { …</typename...></m></int></m></n></int></n,></int></int...></type_traits>

Traktor + Max/Jitterで楽曲に合わせた映像のポン出しを自動化する

要約 [背景] クラブでは楽曲に合わせてVJさんが映像を出してくれる [目的] 一人でおうちDJをする際にもアニソンにはOP動画やミュージッククリップといった映像を出したい [提案] Traktorのbroadcast経由で楽曲情報を持ってきてMax/Jitterで映像を出す [結論]…

coutで多次元配列のdump

何かの役に立つかも 実行結果 http://melpon.org/wandbox/permlink/MJN1EGWMw1ixnvBJ #include <iostream> template <typename T, std::size_t N> std::ostream& operator<< (std::ostream& os, const T(&arr)[N]) { os << '{'; std::size_t i = 0; for (const auto& v : arr) { os << v; if (++i </typename></iostream>…

template parameter packのN番目の型を取り出すアプローチ

これはメタプロする事自体を目的にした遊びで,実用という意味で考えればO(N)で線形再帰するべき. 線形再帰ならば誰でも読めるし,数十個ぐらいなら最も速い.もし真面目にテンプレート引数を1000個も渡すケースに陥っているならばそれは多分そこに至る時点…

時間を浪費するのやめたい

限界AtoZタイピング #include <iostream> int main() { // Generate applescript std::cout << "on run {input, parameters}\n\tactivate application \"Google Chrome\"" << std::endl; for (char i = 'a'; i <= 'z'; ++i) { std::cout << "\ttell application \"Syst</iostream>…

dlopenやdlsym辺りの実装を読んでそのうちまとめたい

#include <dlfcn.h> #include <stdio.h> #include <stdlib.h> int main(void) { FILE *fp; if ((fp = fopen("hello.c", "w")) == NULL) { fprintf(stderr, "file cannot open"); exit(EXIT_FAILURE); } fprintf(fp, "#include <stdio.h>\n" "void hello(void) { printf(\"hello dl world!\\n\"); }</stdio.h></stdlib.h></stdio.h></dlfcn.h>…

大量のメモリを使用するプログラムからコマンドを実行する方法というのを読んだ

メモリを多く使用したプロセスから繰り返しfork()する場合,performance issuesになりうるという話. StackOverflow linux - 大量のメモリを使用するプログラムからコマンドを実行する方法 - スタック・オーバーフロー 実際困ることあるらしく 昨日今日ちょ…