Entries by Rainer Grimm

Contracts: A Deep Dive

I already introduced contracts in the article “Contracts in C++26”. In this article and the next ones, I will dive deeper into the details. In this article, I refer mainly to the excellent proposal “Contracts for C++”. Unfortunately, proposal P2900R14 exceeds 100 pages in length. I will therefore try to summarize the most important points […]

My ALS Journey (28/n): Bureaucracy – The German Disease

Today I want to write about a sad topic. Bureaucracy in the German healthcare system is becoming increasingly absurd. In this world, the Darwin principle reigns supreme: survival of the fittest. >> My ALS Journey so far << Before I begin this article, I would like to share a few thoughts. I do not claim […]

Data-Parallel Types: Algorithms

The data-parallel types library has four special algorithms for SIMD vectors. The four special algorithms are min, max, minmax, and clamp. min, max, and minmax The two algorithms min and max have in common that they each accept two SIMD vectors and return a SIMD vector. This contains the element-wise minimum or maximum of the […]

My ALS Journey (27/n): An Emergency Call

Unfortunately, I had an emergency call last Friday. That’s why this article is appearing a little earlier than usual. >> My ALS Journey so far << Firstly, I would like to say that I am doing very well and have made a full recovery from my incident. However, I would like to share my story […]

Data-Parallel Types: Reduction

In this article, I will discuss reduction and mask reduction for data-parallel types. Reduction A reduction reduces the SIMD vector to a single element. The library provides three functions for this purpose: reduce, hmin, and hmax.The following program shows how these functions are used. // reduction.cpp #include <array> #include <experimental/simd> #include <functional> #include <iostream> #include […]

My ALS Journey (26/n): Cippi’s first Adventures

Cippi went on her first big trip. First, she went to Belgium to visit Tom Tesch, and then she flew to Toronto to CppNorth, where she was warmly welcomed by Kate Gregory. In addition, I would like to strongly recommend my current care service, Ce La Vie. >> My ALS Journey so far << Cippi’s […]

Data-Parallel Types: simd_mask

Thanks to simd_mask, conditional execution of operations on data-parallel types is possible. Unfortunately, in my last article, Data-Parallel Types – A First Example, I forgot to introduce one of the new library functions. I will make up for that in this article. Where Expression The new keyword where creates a so-called where expression. This allows […]

My ALS Journey (25/n): Small and Big Hurdles

Today, I want to share with you some of my everyday problems. >> My ALS Journey so far << New Authentication at the Bank My bank has suddenly requested that I authenticate myself using a type of Postident procedure. For me, this means that they require both a photo of my ID card and a […]

Data-Parallel Types – A First Example

After providing a theoretical introduction to the new C++ 26 feature in my last article, “Data-Parallel Types (SIMD),” I would like to follow up today with a practical example. The following introductory example is from the experimental implementation of the SIMD library. This functionality has been fully adopted in the C++ 26 draft under the […]

My ALS Journey (24/n): Cippi’s World Tour

Many of you want to get in touch with Cippi. So here is a brief overview of her travel plans for 2025. >> My ALS Journey so far << Cippi’s World Tour in 2025 These are the C++ conferences that Cippi will be attending. C++ Conferences If you would like Cippi to visit your conference, […]