summaryrefslogtreecommitdiff
path: root/content/tests
diff options
context:
space:
mode:
Diffstat (limited to 'content/tests')
-rw-r--r--content/tests/gcc5bug.cpp4
-rw-r--r--content/tests/precision.cpp8
-rw-r--r--content/tests/test.tex43
-rw-r--r--content/tests/whitespace.cpp1
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"