RSSAmplifier

Blog

artificial::mind blog

Articles about Graphics, C++, Optimization, Game Development, Programming Languages, and more. Personal blog of Philip Tretter writing under the alias of Artificial Mind.

artificial-mind.netRSS feed ↗21 posts

Latest posts

Moves in Returns

Mini guide to 'when is my return a move?'

Optimization without Inlining

Even without inlining, the compiler does not always has to assume the worst case.

Measuring std::unordered_map Badness

When is a good hash a good hash?

std::sort multiple ranges

Sorting a range of keys while keeping a range of values in sync.

consteval in C++17

Forcing compile time evaluation in C++17

Approximating 'constexpr for'

'if constexpr' is awesome, but can we do 'constexpr for'?

Multi-Level Break in C++ via IIFE

Ever wanted to break more than one level at once?

range_ref<T>

A fast, lightweight, non-owning view of a range

Static Registration Macros

Central registration of types or functions just doesn't feel very DRY sometimes.

Overloading by Return Type in C++

Everyone overloads by argument types. But can you do return type?

always_false<T>

The working version of static_assert(false);

dont_deduce<T>

Reducing API friction by a seemingly useless typedef

Destructuring Assertions

How can we make ASSERT(a == b) print the values of a and b?

Recursive Lambdas in C++

Ever wondered how to make our beloved [](){}s call themselves?

C++ Compile Health Watchdog

Ever wondered what is slowing down your C++ builds?

PyTorch Setup (C++17, zapcc, QtCreator, Debian, user-space)

Harder than it should be.

Consider deleting your rvalue ref-qualified assignment operators

Why is foo{} = foo{} working anyways?

Performance of std::function

How bad is it really?

Basic Floating Point Optimizations

Why is "f + 0.0" slower than "f - 0.0"?

Special Treatment for Literal Zero

Or: how to make "foo(0)" and "foo(1)" call different functions

Hello Blog

Welcome to my blog!