Enviar búsqueda
Cargar
Emcjp item33,34
•
1 recomendación
•
1,577 vistas
MITSUNARI Shigeo
Seguir
Effective Modern C++勉強会#7 https://github.com/herumi/emcjp/blob/master/readme.md
Leer menos
Leer más
Tecnología
Vista de diapositivas
Denunciar
Compartir
Vista de diapositivas
Denunciar
Compartir
1 de 9
Descargar ahora
Descargar para leer sin conexión
Recomendados
llvm入門
llvm入門
MITSUNARI Shigeo
Emcpp item31
Emcpp item31
mitsutaka_takeda
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
Takeshi Yamamuro
Emcjp item21
Emcjp item21
MITSUNARI Shigeo
Xeon PhiとN体計算コーディング x86/x64最適化勉強会6(@k_nitadoriさんの代理アップ)
Xeon PhiとN体計算コーディング x86/x64最適化勉強会6(@k_nitadoriさんの代理アップ)
MITSUNARI Shigeo
Effective Modern C++ 読書会 Item 35
Effective Modern C++ 読書会 Item 35
Keisuke Fukuda
関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU
Takuro Iizuka
フラグを愛でる
フラグを愛でる
MITSUNARI Shigeo
Recomendados
llvm入門
llvm入門
MITSUNARI Shigeo
Emcpp item31
Emcpp item31
mitsutaka_takeda
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
Takeshi Yamamuro
Emcjp item21
Emcjp item21
MITSUNARI Shigeo
Xeon PhiとN体計算コーディング x86/x64最適化勉強会6(@k_nitadoriさんの代理アップ)
Xeon PhiとN体計算コーディング x86/x64最適化勉強会6(@k_nitadoriさんの代理アップ)
MITSUNARI Shigeo
Effective Modern C++ 読書会 Item 35
Effective Modern C++ 読書会 Item 35
Keisuke Fukuda
関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU
Takuro Iizuka
フラグを愛でる
フラグを愛でる
MITSUNARI Shigeo
Effective modern C++ 勉強会 #3 Item 12
Effective modern C++ 勉強会 #3 Item 12
Keisuke Fukuda
きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回
Tomoya Kawanishi
Haswellサーベイと有限体クラスの紹介
Haswellサーベイと有限体クラスの紹介
MITSUNARI Shigeo
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
MITSUNARI Shigeo
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
natrium11321
Prosym2012
Prosym2012
MITSUNARI Shigeo
新しい並列for構文のご提案
新しい並列for構文のご提案
yohhoy
Scala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみた
Kazuyuki TAKASE
Map
Map
kikairoya
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
kikairoya
20180728 halide-study
20180728 halide-study
Fixstars Corporation
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
並行プログラミングと継続モナド
並行プログラミングと継続モナド
Kousuke Ruichi
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプ
Kohsuke Yuasa
emc++ chapter32
emc++ chapter32
Tatsuki SHIMIZU
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
emcjp Item 42
emcjp Item 42
MITSUNARI Shigeo
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
Cython intro prelerease
Cython intro prelerease
Shiqiao Du
Boost.SIMD
Boost.SIMD
Akira Takahashi
Effective modern c++ 8
Effective modern c++ 8
uchan_nos
templateとautoの型推論
templateとautoの型推論
MITSUNARI Shigeo
Más contenido relacionado
La actualidad más candente
Effective modern C++ 勉強会 #3 Item 12
Effective modern C++ 勉強会 #3 Item 12
Keisuke Fukuda
きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回
Tomoya Kawanishi
Haswellサーベイと有限体クラスの紹介
Haswellサーベイと有限体クラスの紹介
MITSUNARI Shigeo
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
MITSUNARI Shigeo
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
natrium11321
Prosym2012
Prosym2012
MITSUNARI Shigeo
新しい並列for構文のご提案
新しい並列for構文のご提案
yohhoy
Scala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみた
Kazuyuki TAKASE
Map
Map
kikairoya
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
kikairoya
20180728 halide-study
20180728 halide-study
Fixstars Corporation
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
並行プログラミングと継続モナド
並行プログラミングと継続モナド
Kousuke Ruichi
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプ
Kohsuke Yuasa
emc++ chapter32
emc++ chapter32
Tatsuki SHIMIZU
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
emcjp Item 42
emcjp Item 42
MITSUNARI Shigeo
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
Cython intro prelerease
Cython intro prelerease
Shiqiao Du
Boost.SIMD
Boost.SIMD
Akira Takahashi
La actualidad más candente
(20)
Effective modern C++ 勉強会 #3 Item 12
Effective modern C++ 勉強会 #3 Item 12
きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回
Haswellサーベイと有限体クラスの紹介
Haswellサーベイと有限体クラスの紹介
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
Prosym2012
Prosym2012
新しい並列for構文のご提案
新しい並列for構文のご提案
Scala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみた
Map
Map
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
20180728 halide-study
20180728 halide-study
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
並行プログラミングと継続モナド
並行プログラミングと継続モナド
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプ
emc++ chapter32
emc++ chapter32
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
emcjp Item 42
emcjp Item 42
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Cython intro prelerease
Cython intro prelerease
Boost.SIMD
Boost.SIMD
Destacado
Effective modern c++ 8
Effective modern c++ 8
uchan_nos
templateとautoの型推論
templateとautoの型推論
MITSUNARI Shigeo
Effective Modern C++勉強会#4 Item 17, 18資料
Effective Modern C++勉強会#4 Item 17, 18資料
Ryo Igarashi
Effective modern c++ 5
Effective modern c++ 5
uchan_nos
Emcpp0506
Emcpp0506
Takatoshi Kondo
Emcpp item41
Emcpp item41
mitsutaka_takeda
effective modern c++ chapeter36
effective modern c++ chapeter36
Tatsuki SHIMIZU
Destacado
(7)
Effective modern c++ 8
Effective modern c++ 8
templateとautoの型推論
templateとautoの型推論
Effective Modern C++勉強会#4 Item 17, 18資料
Effective Modern C++勉強会#4 Item 17, 18資料
Effective modern c++ 5
Effective modern c++ 5
Emcpp0506
Emcpp0506
Emcpp item41
Emcpp item41
effective modern c++ chapeter36
effective modern c++ chapeter36
Similar a Emcjp item33,34
Haskell
Haskell
todorokit
Clean
Clean
osamu kimura
Clean
Clean
osamu kimura
Lambda in template_final
Lambda in template_final
Cryolite
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
Preferred Networks
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Masahiro Sakai
モナドをつくろう
モナドをつくろう
dico_leque
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習
Masahiro Suzuki
SICP
SICP
S W
Java8から始める関数型プログラミング
Java8から始める関数型プログラミング
stylefreeslide
D言語会議#1
D言語会議#1
9rnsr
Material
Material
_TUNE_
C++ lecture-0
C++ lecture-0
sunaemon
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)
啓 小笠原
Sized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアル
Akinori Abe
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編
道化師 堂華
Similar a Emcjp item33,34
(16)
Haskell
Haskell
Clean
Clean
Clean
Clean
Lambda in template_final
Lambda in template_final
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
モナドをつくろう
モナドをつくろう
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習
SICP
SICP
Java8から始める関数型プログラミング
Java8から始める関数型プログラミング
D言語会議#1
D言語会議#1
Material
Material
C++ lecture-0
C++ lecture-0
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)
Sized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアル
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編
Más de MITSUNARI Shigeo
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
MITSUNARI Shigeo
暗認本読書会13 advanced
暗認本読書会13 advanced
MITSUNARI Shigeo
暗認本読書会12
暗認本読書会12
MITSUNARI Shigeo
暗認本読書会11
暗認本読書会11
MITSUNARI Shigeo
暗認本読書会10
暗認本読書会10
MITSUNARI Shigeo
暗認本読書会9
暗認本読書会9
MITSUNARI Shigeo
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
MITSUNARI Shigeo
暗認本読書会8
暗認本読書会8
MITSUNARI Shigeo
暗認本読書会7
暗認本読書会7
MITSUNARI Shigeo
暗認本読書会6
暗認本読書会6
MITSUNARI Shigeo
暗認本読書会5
暗認本読書会5
MITSUNARI Shigeo
暗認本読書会4
暗認本読書会4
MITSUNARI Shigeo
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
MITSUNARI Shigeo
私とOSSの25年
私とOSSの25年
MITSUNARI Shigeo
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
MITSUNARI Shigeo
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
MITSUNARI Shigeo
楕円曲線と暗号
楕円曲線と暗号
MITSUNARI Shigeo
HPC Phys-20201203
HPC Phys-20201203
MITSUNARI Shigeo
BLS署名の実装とその応用
BLS署名の実装とその応用
MITSUNARI Shigeo
Más de MITSUNARI Shigeo
(20)
暗号技術の実装と数学
暗号技術の実装と数学
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
暗認本読書会13 advanced
暗認本読書会13 advanced
暗認本読書会12
暗認本読書会12
暗認本読書会11
暗認本読書会11
暗認本読書会10
暗認本読書会10
暗認本読書会9
暗認本読書会9
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
暗認本読書会8
暗認本読書会8
暗認本読書会7
暗認本読書会7
暗認本読書会6
暗認本読書会6
暗認本読書会5
暗認本読書会5
暗認本読書会4
暗認本読書会4
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
私とOSSの25年
私とOSSの25年
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
楕円曲線と暗号
楕円曲線と暗号
HPC Phys-20201203
HPC Phys-20201203
BLS署名の実装とその応用
BLS署名の実装とその応用
Último
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Último
(10)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Emcjp item33,34
1.
Item 33: lambda内のstd::forwardにはdecltype Item
34: std::bindよりlambda emcjp#7 2015/7/14 光成滋生
2.
lambdaにautoを使える この関数は次のようなものだった(Item 3) normalizeがlvalueとrvalueを区別するならこのコード は適切でない(lvalueしか渡らないので) perfect-forwardで渡したい Item 33:
C++14のgeneric lambda auto f = [](auto x) { return func(normalize(x)); } struct Lambda { template<class T> auto operator()(T x) const { return func(normalize(x)); } }; 2/9
3.
forwardすべき型は何? xにlvalueとrvalueのどちらが渡されたかはdecltypeで わかる 答え xがlvalueに束縛されたらdecltype(x)はlvalue参照 xがrvalueに束縛されたらdecltype(x)はrvalue参照 参照縮約(reference collapsing)でうまくいく どうやって auto f
= [](auto&& x) { return func(normalize(std::forward<???>(x))); } auto f = [](auto&& x) { return func(normalize(std::forward<decltype(x)>(x))); } 3/9
4.
...を使う 可変引数パラメータ auto f =
[](auto&&... x) { return func(normalize(std::forward<decltype(x)>(x)...)); } 4/9
5.
std::bind std::bind1st, std::bind2ndの後継 入ったがlambdaに比べてメリットは殆ど無い lambdaの場合 1h, 30sはユーザ定義リテラル Item
34: std::bindよりlambda using namespace std::chrono; using namespace std::literals; void setAlarm(Time t, Sound s, Duration d); auto setSoundL = [](Sound s) { setAlarm(steady_clock::now() + 1h, s, 30s); } 5/9
6.
間違いその1 bindするときにnow()が呼ばれてしまう 間違いその2 now() + 1hを遅延させる 型を明記しないstd::plus<>()はC++14から C++11ならstd::plus<steady_clock::time_point>() テキストも間違えていた(see
eratta) 正解(bind3段重ね) bindは評価タイミングに注意 auto setSoundB = std::bind(setAlarm, std::bind(std::plus<>(), steady_clock::now(), 1h), _1, 30s); auto setSoundB=std::bind(setAlarm,steady_clock::now()+1h,_1,30s); auto setSoundB = std::bind(setAlarm,std::bind(std::plus<>(), std::bind(steady_clock::now), 1h), _1, 30s); 6/9
7.
関数が追加された lambdaの場合はそのままうまくいく bindはコンパイルエラー std::bindは関数を正しくキャストする必要あり その他の違い lambdaは普通の関数で大抵inline化される bindは関数ポインタを保持(ちょっと非効率かも) bindは常に値をcopyする。参照にしたいならstd::ref setAlarmがoverloadされているとき using SetAlarmType =
void(*)(Time t, Sound s, Duration d); auto setSoundB = std::bind(static_cast<SetAlarmType>(setAlarm), std::bind(std::plus<>(), steady_clock::now(), 1h), _1, 30s); void setAlarm(Time t, Sound s, Duration d, Volume v); 7/9
8.
moveキャプチャ C++11のlambdaはmoveキャプチャがない std::bindと組み合わせるsee Item 32 多態する関数オブジェクト ただしC++14のautoつきlambdaで解決 bindの利点(レアケース) struct
A { template<class T> void operator()(const T& p) const; }; A a; auto fB = std::bind(a, std::placeholders::_1); fB(123); fB(nullptr); fB("test"); // C++14 auto fL = [a](const auto& p) { a(p); }; fL(123); fL(nullptr); fL("test"); 8/9
9.
Item 33 generic lambdaの中でstd::forwardしたいときは decltype()を使う Item
34 C++14ではstd::bindの代わりにlambdaを使う C++11ではmoveキャプチャと多態する関数オブジェクトで のみ意味があるかも まとめ 9/9
Descargar ahora