Hatena::Groupborn1981

earth2001yの1981s日記 このページをアンテナに追加 RSSフィード

[[メインのはてな日記はこっち]]
2007 | 12 |
2008 | 01 | 02 | 03 | 04 | 12 |

Feb 23, 2008. Sat

ギークでカオスな週末へ

| 11:41 | ギークでカオスな週末へ - earth2001yの1981s日記 を含むブックマーク はてなブックマーク - ギークでカオスな週末へ - earth2001yの1981s日記 ギークでカオスな週末へ - earth2001yの1981s日記 のブックマークコメント

(このまま明日体力尽きるまでまで)

どうなることやら・・・

トラックバック - http://born1981.g.hatena.ne.jp/earth2001y/20080223

Jan 23, 2008. Wed

C++テンプレートでFizzBuzz

| 02:19 | C++テンプレートでFizzBuzz - earth2001yの1981s日記 を含むブックマーク はてなブックマーク - C++テンプレートでFizzBuzz - earth2001yの1981s日記 C++テンプレートでFizzBuzz - earth2001yの1981s日記 のブックマークコメント

先日の野望会のLTで話したC++テンプレートのネタ。完成品コードだけ貼っておく。(まとめ・解説は、C++テンプレートでFizzBuzz - おびなたのはてな日記

#include <iostream>
using namespace std;

template <int n>
  struct N {
    typedef N<n> ev;
    static const int vl = n;
    static void print() { cout << vl << endl; }
  };

template<class N1>
  struct INC { typedef N<N1::ev::vl + 1> ev; };
template<class N1,class N2>
  struct MOD { typedef N<N1::ev::vl % N2::ev::vl> ev; };

template<class T1,class T2> struct _EQ      { typedef N<0> ev; };
template<class T>           struct _EQ<T,T> { typedef N<1> ev; };
template<class N1,class N2> struct EQ {
  typedef typename _EQ<typename N1::ev, typename N2::ev>::ev ev;
};

template<class _T> struct _NOT        { typedef N<0> ev; };
template<>         struct _NOT<N<0> > { typedef N<1> ev; };
template<class T>  struct NOT {
  typedef typename _NOT<typename T::ev>::ev ev;
};

template<class _C, class _T1,class _T2>
  struct _IF { typedef typename _T1::ev ev; };
template<class _T1,class _T2>
  struct _IF<N<0>,_T1,_T2> { typedef typename _T2::ev ev; };
template<class C,class T1,class T2>
  struct IF { typedef typename _IF<typename C::ev,T1,T2>::ev ev; };

struct Fizz {
  typedef Fizz ev;
  static void print() { cout << "Fizz" << endl; }
};
struct Buzz {
  typedef Buzz ev;
  static void print() { cout << "Buzz" << endl; }
};
struct FizzBuzz {
  typedef FizzBuzz ev;
  static void print() { cout << "FizzBuzz" << endl; }
};

template<class T>
  struct ConvFizzBuzz {
    typedef typename
      IF<NOT<MOD<T,N<15> > >, FizzBuzz,
      IF<NOT<MOD<T,N< 5> > >, Buzz,
      IF<NOT<MOD<T,N< 3> > >, Fizz,
                              T
    > > >::ev ev;
    static void print() { ev::print(); }
  };

struct FizzBuzzTerminal {
  typedef FizzBuzzTerminal ev;
  static void print() { }
};

template<class T1, class T2>
  struct FizzBuzzList {
    typedef FizzBuzzList<INC<T1>, T2> ev;
    typedef typename ConvFizzBuzz<T1>::ev vl;
    typedef typename
      IF<EQ<T1,T2>, FizzBuzzTerminal, FizzBuzzList<T1,T2> >::ev next;
    static void print() {
      vl::print();
      next::print();
    }
  };

int main()
{
  FizzBuzzList<N<0>, N<20> >::print();  // N<0>, N<20>は適当に置き換えておk
}

pinkmacpinkmac2008/02/04 02:00おおお。ぜひ世界のナベアツ問題にも挑んでくださいwwww
→http://www.yabooo.org/archives/60

earth2001yearth2001y2008/02/04 21:55「"3"が含まれる」ってのが難しい><

ototoiototoi2008/02/04 23:53これってC++というよりhaskell書いてるみたいだよね。→http://born1981.g.hatena.ne.jp/ototoi/20080205

トラックバック - http://born1981.g.hatena.ne.jp/earth2001y/20080123

Jan 20, 2008. Sun

野望新年会に行ってきた

| 22:38 | 野望新年会に行ってきた - earth2001yの1981s日記 を含むブックマーク はてなブックマーク - 野望新年会に行ってきた - earth2001yの1981s日記 野望新年会に行ってきた - earth2001yの1981s日記 のブックマークコメント

# 帰りの新幹線の車内から...

参加20人ながら、下は1986から上は定年後の団塊の方まで、幅広い世代、所属の人が集まった。特に1986率が高い。我々1981も負けてられんぞー。

最終の新幹線の時間が迫ってしまい、LT最後の話者のゆーすけべーのトークの途中で抜けることになってしまったのが残念で仕方がない。なので、あまり多くの人と話をすることができなかったのも残念。しかし、今後活動を続けていけば、その点はすぐに解消するでしょう。今回は最初の一歩なのだ。

今回のおいらのLTの内容、特にC++テンプレートな話のところの解説は、ここかメインのはてな日記のほうに、あとで(今週中にも)書きます。

詳しい議事録とか、写真とかはid:pinkmac嬢あたりがうpしてくれることを期待。

・・・野望会長野支部を創設することも検討するかな・・・

いずれにせよITで世界制服!

これから野望会

| 12:24 | これから野望会 - earth2001yの1981s日記 を含むブックマーク はてなブックマーク - これから野望会 - earth2001yの1981s日記 これから野望会 - earth2001yの1981s日記 のブックマークコメント

いまんとこと把握している範囲だと参加者は、主宰のid:pinkmac嬢、1981s随一のエロギークid:kamawadaことゆーすけべー、若手の会で一緒だったid:hogelogとか。総勢20人で、LTは9人だそうな。

楽しみです。

では、秋葉原でお会いしましょう。

ctrlshiftctrlshift2008/01/20 13:09みんなで集まることはいいですねー!
つながりって大切ですもんね。
今度は私も参加を考えようかな♪

pinkmacpinkmac2008/01/21 02:17早速のレポありがとうございます!
野望会本拠地でも写真等々併せてアップしますね~
長野支部、ぜひww 他地域でも声が上がっているので!

トラックバック - http://born1981.g.hatena.ne.jp/earth2001y/20080120