diff options
Diffstat (limited to 'content/tests')
| -rw-r--r-- | content/tests/gcc5bug.cpp | 4 | ||||
| -rw-r--r-- | content/tests/precision.cpp | 8 | ||||
| -rw-r--r-- | content/tests/test.tex | 43 | ||||
| -rw-r--r-- | content/tests/whitespace.cpp | 1 |
4 files changed, 56 insertions, 0 deletions
diff --git a/content/tests/gcc5bug.cpp b/content/tests/gcc5bug.cpp new file mode 100644 index 0000000..f49603e --- /dev/null +++ b/content/tests/gcc5bug.cpp @@ -0,0 +1,4 @@ +//https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68203 +struct A { + pair<int, int> values[1000000]; +}; diff --git a/content/tests/precision.cpp b/content/tests/precision.cpp new file mode 100644 index 0000000..0c81ae1 --- /dev/null +++ b/content/tests/precision.cpp @@ -0,0 +1,8 @@ +#include <cfloat> + +int main() { + cout << "Mode: " << FLT_EVAL_METHOD << endl; + double a = atof("1.2345678"); + double b = a*a; + cout << b - 1.52415765279683990130 << '\n'; +} diff --git a/content/tests/test.tex b/content/tests/test.tex new file mode 100644 index 0000000..80ac037 --- /dev/null +++ b/content/tests/test.tex @@ -0,0 +1,43 @@ +\section{Tests} +Dieser Abschnitt enthält lediglich Dinge die während der Practicesession getestet werden sollten! + +\subsection{GCC} +\begin{itemize} + \item sind c++14 Feature vorhanden? + \item sind c++17 Feature vorhanden? + \item kompiliert dieser Code: +\end{itemize} +\sourcecode{tests/gcc5bug.cpp} +\begin{itemize} + \item funktioniert \code{__int128}? + \item funktionieren Pragmas? + \item funktionieren \code{constexpr} zur Compilezeit (+Zeitlimit)? + \item wie groß ist \code{sizeof(char*)}? + \item wie groß ist \code{RAND_MAX}? + \item funktioniert \code{random_device}? (und gib es unerschiedliche Ergebnisse?) + \item funktioniert \code{clock()}? +\end{itemize} + +\subsection{Python} +\begin{itemize} + \item Rekursionslimit? +\end{itemize} + +\subsection{Judge} +\begin{itemize} + \item ist der Checker casesensitive? + \item wie werden zusätzliches Whitespacecharacter bei sonst korrektem Output behandelt? + \item vergleiche ausführungszeit auf dem judge und lokal (z.b. mit Primzahl Sieb) +\end{itemize} +\sourcecode{tests/whitespace.cpp} + +\subsection{Precision} +\begin{itemize} + \item Mode $0$ means no excess precision + \item Mode $2$ means excess precision (all operations in $80$\,bit floats) +\end{itemize} +\begin{itemize} + \item Result $0$ without excess precision (expected floating point error) + \item \textasciitilde$8e^{-17}$ with excess precision (real value) +\end{itemize} +\sourcecode{tests/precision.cpp} diff --git a/content/tests/whitespace.cpp b/content/tests/whitespace.cpp new file mode 100644 index 0000000..d4abf47 --- /dev/null +++ b/content/tests/whitespace.cpp @@ -0,0 +1 @@ +"\r\r\r\n\t \r\n\r" |
