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. ブートストラップのWell/Navbarが反応しない
- 2. Certbot /.well-known/acme-challenge
- 3. のフォルダ。 TeamCity(.well-known)に引き込まれていない
- 4. kernel_require.rb:54:in 'require'(LoadError)in well grounded Rubyist
- 5. ブースト:: C++ 11
- 6. com.dropbox.core.DbxException $ BadRequest:{"error": "OAuth 2 \" Authorization \ "header is well-formed。}}
- 7. Identityserver3エラーhttps:// localhost:44300/identity /。well-known/openid-configuration
- 8. "well-formatted"アセンブリリファレンスをRoslynに追加
- 9. ブースト/ C++用のC++ラッパー11
- 10. C++ 11でhas_equal_operatorの実装
- 11. SQL join join as wellの結果が得られません
- 12. asp.netコアに.well-knownを追加してください。
- 13. .well-known/assetlinks.jsonをパブリックリポジトリに保存していますか?
- 14. ブースト機能は、C++ 11ではC++ 11の生の文字列
- 15. bootstrapドロップダウンアイテムリストをclass = "well"の外側に表示する方法
- 16. C#のWell Known Binary入力を使用してsde.st_intersectsを要求するための適切なフォーマット
- 17. C++ 11 constexpr文字列の実装
- 18. Pythonは '&'文字の存在により 'Not well-formed xml'エラーを返します
- 19. 無限ポテンシャル井戸をプロットする(double well)
- 20. Pickaxe、Well Grounded Rubyist ---私の次の本を記入してください---
- 21. C++ 03のfor_eachにメンバー関数を渡す(ブーストなし、C++ 11なし)
- 22. apple-app-site-associationのパスはrootまたは.well-knownに相対的ですか?
- 23. ブートストラップを削除するWELLのパディングを左右に取り除く
- 24. C++でスレッドセーフなメソッドを実装する適切な方法11
- 25. MSNプロトコル11の実装
- 26. ブースト範囲アダプタの実装reversed_if
- 27. Visualstudio 2015ドキュメントを取得できません。https:// localhost:44300/identity/.well-known/openid-configuration "
- 28. C++ 11 constexprとの互換性の実装
- 29. は、Adobe Acrobat Readerのタブの保存と自動ロードは動作しませんWELL
- 30. ファイル名の装飾がないビルドブースト?ブーストC++ライブラリの
多くは、標準ライブラリに存在し、吸収されている使用(少し)コンパイル時のプログラミングを行っている方法です。唯一の難しい部分は 'boost :: mpl :: apply'の使用です。しかし、コンパイル時の'% '計算の最適化のためだけです。 – Caleth
'mpl'を' constexpr'関数に置き換えることができるようです – Caleth
@カルテええ、mplは私の頭痛です。それを 'constexpr'と置き換える方法は?いくつかの例を挙げることができますか? – athos