touch dpkg -l | grep tcl ii libtcl8.5:amd64 8.5.17-1 amd64 Tcl (the Tool Command Language) v8.5 - run-time library files ii libtcl8.6:amd64 8.6.2+dfsg-2 amd64 Tcl (the Tool Command Language) v8.6 - run-time library files ii tcl 8.6.0+8 amd64 Tool Command Language (default version) - shell ii tcl-dev:amd64 8.6.0+8 amd64 Tool Command Language (default version) - […]
29.01.2016
26.01.2016
Evaluation of logical operations
Spass mit dem Standard. Aus dem Fortran 90/95 Standard [1] Kapitel 7.1.7.6. Evaluation of logical intrinsic operations The rules given in 7.2.4 specify the interpretation of logical intrinsic operations. Once the interpretation of an expression has been established in accordance with those rules, the processor may evaluate any other expression that is logically equivalent, provided […]
24.01.2016
Warum (kurze) Arrays in Fortran (und C/C++) nicht immer die richtige Wahl ist
Der Name ist Programm. Heute mal tex und pdf Version. wkfanidrwi.pdf \documentclass[]{article} \usepackage{listings} \usepackage[utf8]{inputenc} \usepackage{ngerman} %opening \title{Warum (kurze) Arrays in Fortran (und C/C++) nicht immer die richtige Wahl ist} \author{Thomas Huxhorn} \begin{document} \maketitle \tableofcontents \begin{abstract} In diesem kleinen Artikel lege ich ein paar Gedanken nieder über einen Fehler mit (kurzen) Arrays, der systematisch immer wieder […]
21.01.2016
template loop mit rekursion
Einfache Schleifen mit Templates funktionieren mittels Rekursionen. Das ist auf dem ersten Blick etwas ungewöhnlich, aber letzendlich doch nur eine Schleife. Wir muessen die Anzahl an Iterationen aber zur Compilezeit vorgeben! Entweder per Template Parameter oder constexpr. Normal würde man Parameterlisten packen/unpacken oder was man sonst in einer Schleife macht. Ich möchte aber N mal […]
14.01.2016
std::normal_distribution
Wie baut man aus gleichverteilen Zufallszahlen normalverteile? Man nimmt std::normal_distribution http://en.cppreference.com/w/cpp/numeric/random/normal_distribution Und wie ist das Implementiert? Eine Beispielimplementation gibt es in der gnu stdc++ https://gcc.gnu.org/onlinedocs/gcc-4.7.4/libstdc++/api/a01267_source.html#l01678 Wtf? Versteht kein Mesch. Das Paper auf dass die sich beziehen ist auch ein Hammer. http://www.eirene.de/Devroye.pdf Seite 249 Hier die Template bereinigte Version vom GNU #include <iostream> #include <iomanip> #include […]
03.01.2016
XKCD 1188 BOUNDING
http://xkcd.com/1188/ Lame Segfault. #include <exception> using namespace std; struct Ball : public exception { }; struct P { P* target; void aim(const Ball& ball) { try { throw ball; } catch(Ball& ball) { target->aim(ball); } } }; int main() { P parent; P child{&parent}; parent.target = &child; parent.aim(Ball()); }
01.01.2016
rvalues, lvalues, xvalues, glvalues, prvalues WTF??
Sehr zu empfehlen: http://www.stroustrup.com/terminology.pdf int prvalue(); int& lvalue(); int&& xvalue(); void foo(int&& t) { // t is initialized with an rvalue expression // but is actually an lvalue expression itself } — An lvalue (so called, historically, because lvalues could appear on the left-hand side of an assignment expression) designates a function or an object. […]