tuple構築時再帰深度最適化の終焉

https://gist.github.com/wx257osn2/8051199 これから約半年後,わずか1晩の出来事である
2
GP @cifar10

[Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ melpon.org/wandbox/permli… 本当に必要最低限の部分だけ、tupleとして動作するコンテナを書いた。構築は計算量がO(NlogN)再帰深度が定数C、要素アクセスはO(logN)。

2014-05-25 01:33:16
GP @cifar10

再帰深度を抑えたtuple的コンテナの構築 - ここは匣 fimbul.hateblo.jp/entry/2014/05/…

2014-05-25 01:53:55
リンク http://fimbul.hateblo.jp/ 再帰深度を抑えたtuple的コンテナの構築 - ここは匣 本当に一部の機能のみ実装。要素型とindexをテンプレートパラメータにペアにして保持するvalue_holderを多重継承する方針。make_overloadの際に初めて知った、テンプレート引数を展開しながら一気に多重継承するという技法を早速パクりました。getでindexをキーとして継承元の関数を呼び分ける。線形再帰しつつ構築する従来の方法では構築の再帰深度がネックとなり、要素数の上限を強く制約していたが、この方法なら問題無い筈。 sprout::type_tupleの要素アクセスがO(logN)の筈な
I @wx257osn2

あとのじさん仕事早すぎでしょ… [Nexus5]

2014-05-25 01:58:06
GP @cifar10

もうちょい役に立つコード書きたいよな

2014-05-25 01:54:42
I @wx257osn2

役に立つコード書けないマン [Nexus5]

2014-05-25 02:02:48
I @wx257osn2

というかSprout強力すぎでしょ…(Sprout縛り) [Nexus5]

2014-05-25 02:03:42
GP @cifar10

256要素以上のtupleを利用したくて、尚且つそのコンテナをメタプログラミングを用いて自前で実装したい人にとって、実装面で役に立つ可能性がある記事を書いた。(殆どの人に何の役にも立たない記事を書いた)

2014-05-25 02:04:14
I @wx257osn2

256要素以上のtupleを利用したくて、尚且つそのコンテナをメタプログラミングを用いて自前で実装したい人にとって、実装面で役に立ちそうにないけど理論上可能だって記事を去年書いた。

2014-05-25 02:06:21
I @wx257osn2

>参考にならない< [Nexus5]

2014-05-25 02:06:42
GP @cifar10

二分木状に構築する方針もやってみたさある。何より自分の方針だとmake_tupleのようなフリー関数を介さない方法で綺麗に書ける気がしない。

2014-05-25 02:07:23
I @wx257osn2

そう、それでインターフェースをN3797に準拠させてみたらなんかそれだけで再起深度限界が高まってつらかった [Nexus5]

2014-05-25 02:11:14
GP @cifar10

constexprと木構造は極めて相性が悪い気がするので、つらみ事案になる気はするけど。

2014-05-25 02:07:55
GP @cifar10

初めてライブラリの実装見た時に、「...」がいっぱいついてて何これキモって思った時の気持ちを思い出そう。

2014-05-25 02:36:28

翌日

あいおーれーと @iorate

再帰深度を抑えたtuple的コンテナの構築 - ここは匣 fimbul.hateblo.jp/entry/2014/05/… >make_tupleを介さずに構築するのは厳しそう これじゃあかんのかな melpon.org/wandbox/permli…

2014-05-25 13:26:32
GP @cifar10

iorateさんがささっと書いてくれたのを読んだけどこれはとても良い。コード見てなるほど〜!って感動した。

2014-05-25 13:52:15
I @wx257osn2

いやいやいやw いやいやいやw …え? [GL07S]

2014-05-25 15:04:04
I @wx257osn2

「イヤーッ!」 のじ=サンの高速シンチョク!「 アバーッ!」Iはしめやかに爆発四散! [GL07S]

2014-05-25 15:10:47
GP @cifar10

再帰深度を抑えたtuple的コンテナの構築 - ここは匣 fimbul.hateblo.jp/entry/2014/05/… 追記しました

2014-05-25 15:13:42
I @wx257osn2

ようやくPCつけれたので今すぐのじさんの進捗を確認しよう…

2014-05-25 15:45:21
I @wx257osn2

なるほど,index振って多重継承か…ぱない

2014-05-25 15:56:00
I @wx257osn2

まぁ,言ってしまえば高さ1の木なわけだけど…O(1)アクセスあっという間に実装するの強すぎる…

2014-05-25 15:57:42