|
You are here |
drshapeless.com | ||
| | | | |
migocpp.wordpress.com
|
|
| | | | | Lambda closures are an integral part of modern C++, in CUDA code they can be used in different levels. At the very basic, they can be used inside the device code: __global__ void setValueInnerLambda(cudacpp::DeviceVector c, int val) { auto idx = threadIdx.x; auto op = [=](int& i) { i = val; }; op(c[idx]); } Starting... | |
| | | | |
www.cplusplus.com
|
|
| | | | | ||
| | | | |
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... | |
| | | | |
kuruczgy.com
|
|
| | | [AI summary] The article discusses the author's experience of running Lean, a pure functional programming language, on an ESP32 microcontroller for a project involving LED control. Despite Lean's purity, the author utilized its monadic features to handle impure operations like GPIO manipulation and delays. The project involved significant optimizations, including custom bit-banging for the WS2812 LED protocol and reducing code size through various techniques. The author also outlines future directions for the project, including potential improvements in compilation, hardware support, and further optimizations. | ||