ボレロ村上 - ENiyGmaA Code

中3女子です。

2011-12-05から1日間の記事一覧

constexpr レイトレーシング

これは、Sprout.Darkroom ライブラリの constexpr レイトレーサーでレンダリングした画像です。 画像サイズは 512×512 pixel。 もちろん画素データはすべてコンパイル時に生成され、ファイル出力のみが実行時に行なわれています。 光源は手前右側にあり、手…

constexpr ライブラリ

constexpr を主眼としたライブラリは未だそう多くないと思います。 C++標準ライブラリでは、numeric_limits や chrono など自明ないくつかの機能が constexpr 化されています。 また、libstdc++ など標準ライブラリベンダの独自拡張として constexpr 化され…

constexpr のコンパイラ対応

gcc4.7 は、constexpr によく対応しています。 なお、この記事のコードは gcc 4.7.0 20111126 (experimental) において検証・実行しています。 VC10 は、全く以て constexpr に対応していません。 C++11 時代の C++er は、VC10 を使うとき C++11 のことを忘…

constexpr とは

constexpr は C++11 で導入された指定子のキーワードです。 変数を明示的にコンパイル時定数として宣言したり、 実行時にもコンパイル時にも呼出しできる関数を宣言したりできます。 また、C++03 の定数値のように整数型や列挙型だけでなく、浮動小数点型や…

constexpr でレイトレーシング

本記事は、C++11 Advent Calendar 2011 の5日目の記事です。 本稿では C++11 の新機能である constexpr について書きます。 まず最初にお断りしなければならないのは、この記事は constexpr そのものについて詳しく解説したり、 導入の一助となるべく書かれ…