No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 1164 | 1165 | 1166 |...| 1342 | 1343 | 1344 || Next»

Let's note の冬モデルが発表されたようで

このモデルから W も 965 になったようなので買い替え確定.ついでにメモリも SO-DIMM 対応なので増設しやすい.でも,何故か W7B だけ発売日が一カ月遅れの 11月半ば… とりあえずどこで買うか悩むとしよう.生協で安く買えるといいなぁ.

SRM 367 DIV 1

またとちった.

250点問題:BigInteger で舜殺可能.

500点問題:よくあるDPだけど微妙に形を間違え… さらに事前のソート処理が必要なのをあとで思い出したが挿入位置を間違え… なんてやってたら時間無くなった.

1000点問題:DAGから枝を抜いてけばいいのだけどどうやって抜いていけばよいのやら?

朝から行くと…

研究室に人が来ない.昼すぎても来ない.たまたまなのかいつもどおりなのか?

g++ のインライン展開

どうやら g++ は varargs な関数を展開できないらしい.

#include <iostream>
 
struct h {};
struct k : h {};
 
namespace g {
  inline bool f(...) { return false; }
  inline bool f(h* ) { return true;  }
}
namespace v {
  template <typename A>
  inline bool f(A)   { return false; }
  inline bool f(h* ) { return true;  }
}
 
int main(int argc, char *argv[])
{
  h *ph; k *pk; int *pi;
  std::cout << g::f(pi) << std::endl;
  std::cout << g::f(ph) << std::endl;
  std::cout << g::f(pk) << std::endl;
  std::cout << v::f(pi) << std::endl;
  std::cout << v::f(ph) << std::endl;
  std::cout << v::f(pk) << std::endl;
}

g::f(pi) は inline bool f(int* ) なので展開される.g::f(h()) は inline bool f(...) なので展開されない.他は全部展開.ついでに,(...) を使わずに単純にテンプレート変数を一つ用意すればいいかなと思ったけど(...)とテンプレートを用いた場合とでオーバーロードの解決優先度が違うのでだめらしい.

古いソースだとbool boost::detail::function::has_empty_targetはvarargsを使ってないのになぜ最近の実装では varargs を使うようになったのだろう?

boost::function で…

インライン展開失敗するなぁ.

#include <iostream>
#include <boost/function.hpp>
 
struct F_t {
  double operator()(const double & x) const { return 1.5 * x; }
} F;
 
inline double G(const double & x) { return 1.5 * x; }
 
int main(int argc, char *argv[])
{
  boost::function <double(const double &)> f = F;
  boost::function <double(const double &)> g = G;
  std::cout << f(2.0) << std::endl;
  std::cout << g(2.0) << std::endl;
}

ただの関数 g の場合はインライン展開されるけど関数オブジェクト f のときは bool boost::detail::function::has_empty_target(...) が展開できないといわれる.さてどうしたものか?

風神録ノーマルはほぼクリア

とりあえず霊夢の封印装備以外はすべてノーマルをクリア.魔理沙の魔法使い装備でオプション固定解除のタイムラグが大きくなってて戸惑った.オプション固定したまま素早く動けるようになったのはありがたいのだけど.次はExtraにでもチャレンジしてみやう.

«Prev || 1 | 2 | 3 |...| 1164 | 1165 | 1166 |...| 1342 | 1343 | 1344 || Next»
Search
Feeds

Page Top