|
You are here |
www.reedbeta.com | ||
| | | | |
www.foonathan.net
|
|
| | | | | Strong or opaque typedefs are typedefs that truly create new types instead of aliases. They are very useful to prevent accidental conversions and give more semantic meanings. This post shows you how they can be emulated in C++ today. | |
| | | | |
mcyoung.xyz
|
|
| | | | | [AI summary] The text provides an in-depth exploration of SIMD (Single Instruction, Multiple Data) programming, focusing on its application in optimizing algorithms like base64 decoding. It outlines the challenges of writing portable SIMD code across different architectures, the role of compilers and instruction sets, and the importance of avoiding branches in performance-critical code. The article transitions into a practical example of implementing a SIMD version of the base64 decoding algorithm, emphasizing the use of shuffles and data reordering to efficiently process data in parallel. It also touches on the trade-offs between using intrinsics, portable SIMD libraries, and compiler optimizations, while highlighting the complexities of cross-platform deve... | |
| | | | |
lisyarus.github.io
|
|
| | | | | ||
| | | | |
www.foonathan.net
|
|
| | | Just like regular function parameters, template parameters can also have default parameters. For class templates, this behaves mostly just like default function arguments: if you pass fewer template arguments than required, default template arguments are used to fill the remaining places. However, for function templates, it gets more complicated as template parameters for functions can be deduced by the normal function arguments. This leads to some interesting side-effects. In particular, default argumen... | ||