X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fdocuments.git;a=blobdiff_plain;f=LiteratureNotes.tex;h=94670a0cee7694821775c09bd4cc1732c29162cc;hp=111e22043a39142089d1b38c16fa097ef79fa8d7;hb=23895a200aa9ae4e64a0a66e158f7a0a9693ca7d;hpb=45a1b6d03e493d4be49ed80e7e5948ab01339e8e diff --git a/LiteratureNotes.tex b/LiteratureNotes.tex index 111e220..94670a0 100644 --- a/LiteratureNotes.tex +++ b/LiteratureNotes.tex @@ -1,54 +1,5 @@ \documentclass[8pt]{extreport} -\usepackage{graphicx} -\usepackage{caption} -\usepackage{amsmath} % needed for math align -\usepackage{bm} % needed for maths bold face - \usepackage{graphicx} % needed for including graphics e.g. EPS, PS -\usepackage{fancyhdr} % needed for header -%\usepackage{epstopdf} % Converts eps to pdf before including. Do it manually instead. -\usepackage{float} -\usepackage{hyperref} - - \topmargin -1.5cm % read Lamport p.163 - \oddsidemargin -0.04cm % read Lamport p.163 - \evensidemargin -0.04cm % same as oddsidemargin but for left-hand pages - \textwidth 16.59cm - \textheight 21.94cm - %\pagestyle{empty} % Uncomment if don't want page numbers - \parskip 8.2pt % sets spacing between paragraphs - %\renewcommand{\baselinestretch}{1.5} % Uncomment for 1.5 spacing between lines - \parindent 0pt % sets leading space for paragraphs -\linespread{1} - - -\newcommand{\vect}[1]{\boldsymbol{#1}} % Draw a vector -\newcommand{\divg}[1]{\nabla \cdot #1} % divergence -\newcommand{\curl}[1]{\nabla \times #1} % curl -\newcommand{\grad}[1]{\nabla #1} %gradient -\newcommand{\pd}[3][ ]{\frac{\partial^{#1} #2}{\partial #3^{#1}}} %partial derivative -%\newcommand{\d}[3][ ]{\frac{d^{#1} #2}{d #3^{#1}}} %full derivative -\newcommand{\phasor}[1]{\tilde{#1}} % make a phasor -\newcommand{\laplacian}[1]{\nabla^2 {#1}} % The laplacian operator - -\usepackage{color} -\usepackage{listings} - -\definecolor{darkgray}{rgb}{0.95,0.95,0.95} -\definecolor{darkred}{rgb}{0.75,0,0} -\definecolor{darkblue}{rgb}{0,0,0.75} -\definecolor{pink}{rgb}{1,0.5,0.5} -\lstset{language=XML} -\lstset{backgroundcolor=\color{darkgray}} -%\lstset{numbers=left, numberstyle=\tiny, stepnumber=1, numbersep=5pt} -%\lstset{keywordstyle=\color{darkred}\bfseries} -%\lstset{commentstyle=\color{darkblue}} -%\lstset{stringsyle=\color{red}} -%\lstset{showstringspaces=false} -%\lstset{basicstyle=\small} - -\newcommand{\shell}[1]{\texttt{#1}} -\newcommand{\code}[1]{\texttt{#1}} - +\input{template} \begin{document} @@ -349,11 +300,7 @@ and is implemented almost exactly by modern graphics APIs such as \texttt{OpenGL all but guaranteed that this is the method we will be using for compositing document elements in our project. -{\bf Some issues with the statements made here...} -When introducing Bresenham's algorithm below you say modern graphics systems ``will often use Wu's line-drawing algorithm instead, \emph{as it produces antialiased lines}'' (and don't give a citation). Here you say OpenGL uses Porter-Duff compositing ``almost exactly''. But in their introduction they say: `` -\begin{enumerate} -\ \section{Bresenham's Algorithm: Algorithm for computer control of a digital plotter \cite{bresenham1965algorithm}} Bresenham's line drawing algorithm is a fast, high quality line rasterization @@ -437,7 +384,7 @@ In \cite{kilgard2012gpu}, Kilgard mentions that Glitz has been abandoned. He des %% Sam again -\section{Boost Multiprecision Library \cite{boost_multiprecision}} +\section{Boost Multiprecision Library} \begin{itemize} \item ``The Multiprecision Library provides integer, rational and floating-point types in C++ that have more range and precision than C++'s ordinary built-in types.'' @@ -731,7 +678,7 @@ Example of XML parsing using pugixml is in \shell{code/src/tests/xml.cpp} \begin{figure}[H] \centering -\begin{lstlisting}[language=XML,basicstyle=\ttfamily] +\begin{minted}{xml} @@ -744,7 +691,7 @@ Example of XML parsing using pugixml is in \shell{code/src/tests/xml.cpp} -\end{lstlisting} +\end{minted} \includegraphics[width=0.6\textwidth]{references/pugixmlDOM-dom_tree.png} \caption{Tree representation of the above listing \cite{pugixmlDOM}} @@ -848,12 +795,12 @@ Issues considered are: Rounding rules, Exception handling and NaNs (eg: The payl An example is this Fortran compiler ``nasty bug'' where the compiler replaces $s$ with $x$ in line 4 and thus a rounding operation is lost. -\begin{lstlisting}[language=Fortran, basicstyle=\ttfamily] +\begin{minted}{Fortran} real(8) :: x, y % double precision (or extended as real(12)) real(4) :: s, t % single precision s = x % s should be rounded t = (s - y) / (...) % Compiler incorrectly replaces s with x in this line -\end{lstlisting} +\end{minted} \subsection{The Baleful Influence of Benchmarks \cite{kahan1996ieee754} pg 20}