C++Guns – RoboBlog

14.05.2022

Kaffeetassenwärmer Optimierungsaufgabe

Filed under: Allgemein — Tags: , — Thomas @ 07:05

Niemand mag kalten Kaffee! Darum muss ein Kaffeetassenwärmer her! Aber das Zeug was man kaufen kann taugt alles nichts! USB2/1 liefert nicht genügend Leistung und USB3 ist eine Vergewaltigung der kleine Kabelchen. Noch dazu habe ich keinen USB3 Port am Laptop. Eine simple Heizplatte mit einem EIN/AUS Schalter langt doch vollkommen. So wie die in […]

16.02.2022

C++ Guns: Play with std::tuple and std::apply

Filed under: Allgemein — Tags: — Thomas @ 11:02

Part 1: print std::array with std::integer_sequence Part 2: convert tuple to parameter pack Part 3: print std::array with std::apply and fold Part 4: fold over std::tuple und erzeugten Assembler Code Part 5: fold over std::tuple of std::vector of Types ... Part 6: apply generic lambda to tuple Part 7: Play with std::tuple and std::apply 1 […]

02.10.2021

CppCon 2021

Filed under: Allgemein — Tags: — Thomas @ 18:10

Differentiable Programming in C++ GraphBLAS: Building a C++ Matrix API for Graph Algorithms Misra Parallelism Safety-critical Guidelines for C++11, 17, Then C++20, 23 Faster, Easier, Simpler Vectors Making Out the Most of Your Compiler SIMD in C++20: EVE of a new Era POINTER ALARM Testing Compile-time Constructs Within a Runtime Unit Testing Framework Back To […]

18.09.2021

Vektorisieren leicht gemacht

Filed under: Allgemein — Tags: — Thomas @ 09:09

Als Beispiel sollen ein paar reduzierte Zeilen Code aus der Datei computeFluxes.h [1] aus dem Vplna-OP2 [2] Projekt dienen, welche auf unterschiedliche Arten vektorisiert werden sollen. Zu erst wird der Vektorisierer von GCC benutzt, danach OpenMP mit der SIMD Direktive. Und zum Schluss GCC Vector Extensions. Untersucht wird der erzeugte ASM Code mit godbolt [3] […]

18.06.2021

C++ Guns: template Spezialisierung mit concepts

Filed under: Allgemein — Tags: — Thomas @ 12:06

Die requires Klausel ist echt toll!

28.04.2021

C++ Guns: mit concepts zur Compilezeit testen, ob ein enum ein bestimmten enumerator hat

Filed under: Allgemein — Tags: — Thomas @ 09:04

Ja concepts sind schon toll ;) Grüße an euIRCnet #c++

26.03.2021

C++ Fortran - Array & Types

Filed under: Allgemein — Tags: , — Thomas @ 11:03

Fortran

28.10.2020

Fortran: kaputt iterieren

Filed under: Allgemein — Tags: , — Thomas @ 21:10

Hier mal ein Auszug aus einem real life Praxis Code der Jahrzehnte lang keine Probleme machte, bis ich kam. Es ist egal was und wie in dem Beispiel etwas berechnet wird. Auch die Eingangswerte sind egal (sind eh sinnlos). Wichtig ist zu wissen, dass es Fortran 77 Code war, den ich schnell nach C++ übersetzt […]

24.08.2020

C++ Guns: C++20 und UTF8 Unicode

Filed under: Allgemein — Tags: — Thomas @ 11:08

In C++20 ändert sich der Typ von u8 string literals von char nach char8_t. Damit compiliert älterer Code nicht mehr GCC10 Error so far: Ich sag es mal positiv: ein weitere Schritt ist gemacht. Und bis dahin behelfen wir uns mit dreckigen casts: Ausgabe: ä ö ü ▁ Die Verwendung von char8_t u8string und u8stringliterals […]

30.05.2020

C++ Guns - Spassvergleich Fortran77 Fortran95 C++11

Filed under: Allgemein — Tags: , — Thomas @ 16:05

Links oben: Original Fortran77 Code. Rechts oben: Fortran95. Keine GOTOs, keine Labels, keine Spaltenbeschränkung, Sortieralgorithmus identifiziert Unten: C++. Standard Sortieralgorithmus, keine expliziten Array Zugriffe Click to enlarge Ja, die genaue formatierte Ausgabe auf die richtige Nachkommastelle ist im C++ Code nicht enthalten. Diese formatierte Ausgabe in Text Dateien ist auch heute nicht mehr relevant.

Older Posts »

Powered by WordPress