diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/gcc5bug.cpp | 4 | ||||
| -rw-r--r-- | tests/precision.cpp | 8 | ||||
| -rw-r--r-- | tests/test.tex | 44 | ||||
| -rw-r--r-- | tests/whitespace.cpp | 1 |
4 files changed, 57 insertions, 0 deletions
diff --git a/tests/gcc5bug.cpp b/tests/gcc5bug.cpp new file mode 100644 index 0000000..55efa3b --- /dev/null +++ b/tests/gcc5bug.cpp @@ -0,0 +1,4 @@ +//https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68203 +struct A { + pair<int, int> values[1000000]; +};
\ No newline at end of file diff --git a/tests/precision.cpp b/tests/precision.cpp new file mode 100644 index 0000000..a1ab1f6 --- /dev/null +++ b/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'; +}
\ No newline at end of file diff --git a/tests/test.tex b/tests/test.tex new file mode 100644 index 0000000..95f1645 --- /dev/null +++ b/tests/test.tex @@ -0,0 +1,44 @@ +\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} +\lstinputlisting{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{Java} +\begin{itemize} + \item startet eclipse? + \item funktionieren Java8 feature (lambdas)? +\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} +\lstinputlisting{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} +\lstinputlisting{tests/precision.cpp} diff --git a/tests/whitespace.cpp b/tests/whitespace.cpp new file mode 100644 index 0000000..71ad9a4 --- /dev/null +++ b/tests/whitespace.cpp @@ -0,0 +1 @@ +"\r\r\r\n\t \r\n\r"
\ No newline at end of file |
