Sergiu Dotencoがhis implementation based on boostに寄付しました。誰かがブーストなしでオープンソースのC++ 11スタイルの実装をお勧めしますか? Googleはいくつかの結果を提供していますが、これは数学的に深いことですが、私は実装の質を区別できませんでした。ここでブーストなしのWell Equidistributed Long-period Linear(WELL)のC++ 11実装?
-2
A
答えて
1
は、C++ 11は、ブーストの容易な
template <typename UIntType> constexpr bool IsPowerOfTwo(UIntType r)
{
return (r & (r - 1)) == 0;
}
namespace detail
{
template<class UIntType, UIntType r, bool>
struct ModuloHelper;
template<class UIntType, UIntType r>
struct ModuloHelper<UIntType, r, true>
{
template<class T>
static T calc(T value)
{
return value & (r - 1);
}
};
template<class UIntType, UIntType r>
struct ModuloHelper<UIntType, r, false>
{
template<class T>
static T calc(T value)
{
while (value >= r)
{ value -= r; }
return value;
}
};
}
template<class UIntType, UIntType r>
struct Modulo : detail::ModuloHelper<UIntType, r, IsPowerOfTwo(r)>
関連する問題
- 1. Certbot /.well-known/acme-challenge
- 2. kernel_require.rb:54:in 'require'(LoadError)in well grounded Rubyist
- 3. com.dropbox.core.DbxException $ BadRequest:{"error": "OAuth 2 \" Authorization \ "header is well-formed。}}
- 4. "well-formatted"アセンブリリファレンスをRoslynに追加
- 5. ブースト:: C++ 11
- 6. ブースト/ C++用のC++ラッパー11
- 7. C++ 11でhas_equal_operatorの実装
- 8. SQL join join as wellの結果が得られません
- 9. bootstrapドロップダウンアイテムリストをclass = "well"の外側に表示する方法
- 10. C#のWell Known Binary入力を使用してsde.st_intersectsを要求するための適切なフォーマット
- 11. ブースト機能は、C++ 11ではC++ 11の生の文字列
- 12. 無限ポテンシャル井戸をプロットする(double well)
- 13. Pythonは '&'文字の存在により 'Not well-formed xml'エラーを返します
- 14. Pickaxe、Well Grounded Rubyist ---私の次の本を記入してください---
- 15. C++ 11 constexpr文字列の実装
- 16. C++ 03のfor_eachにメンバー関数を渡す(ブーストなし、C++ 11なし)
- 17. apple-app-site-associationのパスはrootまたは.well-knownに相対的ですか?
- 18. C++でスレッドセーフなメソッドを実装する適切な方法11
- 19. MSNプロトコル11の実装
- 20. C++ 11 constexprとの互換性の実装
- 21. Azureのウェブサイト.well知られているルートは、私は、ファイルを作成しようとしています
- 22. C++ 11スレッディングAPI:MSVC 2010の無料実装はありますか?
- 23. ファイル名の装飾がないビルドブースト?ブーストC++ライブラリの
- 24. CakePHPで.well-known /ディレクトリへのアクセスを許可するにはどうしたらいいですか?
- 25. ASP.netコアで "/.well-known/apple-app-site-association"をどのようにルーティングできますか?
- 26. Perl C++より高速で動作する正規表現ブーストの実装
- 27. はブーストを使用してノーオペレーションファンクタを実装::バインド
- 28. ブースト-std = C++ 0xの
- 29. ブースト・フュージョンなぜC++ 11とC++ 03で異なる結果が出るのですか?
- 30. マルチスレッドのボス/ワーカーモデルのC/C++実装
多くは、標準ライブラリに存在し、吸収されている使用(少し)コンパイル時のプログラミングを行っている方法です。唯一の難しい部分は 'boost :: mpl :: apply'の使用です。しかし、コンパイル時の'% '計算の最適化のためだけです。 – Caleth
'mpl'を' constexpr'関数に置き換えることができるようです – Caleth
@カルテええ、mplは私の頭痛です。それを 'constexpr'と置き換える方法は?いくつかの例を挙げることができますか? – athos