Merge branch 'master' of git.ucc.asn.au:/ipdf/documents
authorSam Moore <[email protected]>
Mon, 7 Jul 2014 12:30:10 +0000 (20:30 +0800)
committerSam Moore <[email protected]>
Mon, 7 Jul 2014 12:30:10 +0000 (20:30 +0800)
I got really excited that stuff had been pushed to the repo and then I saw it was just the IRC logs again.

16 files changed:
.gitignore
ArbitraryIntegers.pdf [new file with mode: 0644]
ArbitraryIntegers.tex [new file with mode: 0644]
LiteratureNotes.pdf
LiteratureNotes.tex
Makefile
figures/koch.svg [new file with mode: 0644]
figures/test.svg [new file with mode: 0644]
papers.bib
references/bryant2005x86-64programming.pdf [new file with mode: 0644]
references/ferrari1999tiny-guide-to-x86.pdf [new file with mode: 0644]
references/gmp-man-6.0.0a.pdf [new file with mode: 0644]
references/heckmann1998bigintegers.pdf [new file with mode: 0644]
references/matz2013amd64abi.pdf [new file with mode: 0644]
references/pstutorial.pdf [new file with mode: 0644]
template.tex [new file with mode: 0644]

index 5860cb3..484890d 100644 (file)
@@ -6,4 +6,10 @@
 *.bbl
 *.blg
 *.toc
+*.pyg
+*.geany
+*.dat
+*.exe
+*.dll
 data/*
+.geany
diff --git a/ArbitraryIntegers.pdf b/ArbitraryIntegers.pdf
new file mode 100644 (file)
index 0000000..8b97582
Binary files /dev/null and b/ArbitraryIntegers.pdf differ
diff --git a/ArbitraryIntegers.tex b/ArbitraryIntegers.tex
new file mode 100644 (file)
index 0000000..414abe4
--- /dev/null
@@ -0,0 +1,70 @@
+\documentclass[11pt]{article}
+\input{template}
+
+\begin{document}
+\title{Arbitrary Sized Integers}
+\author{Sam Moore, David Gow}
+\maketitle
+
+\section*{Abstract}
+We have implemented arbitrary sized integers which sometimes don't segfault, using a combination of the C++ standard library and stand alone x86-64 assembly. Performance tests reveal that we would have been better off just using the GNU Multiprecision Library (GMP).
+
+\section{Integer Representation}
+
+A positive integer (natural number) can be written as the sum of smaller integers ``digits'' multiplied by powers of a base.
+\begin{align}
+       z &= \displaystyle\sum_{i=0}^{\infty} d_i \beta^{i}
+\end{align}
+Where each digit $d_i < \beta$ the base. A set of $\beta$ unique symbols are used to represent values of $d_i$.
+A fixed size representation truncates the sum at some $i=N$, which can represent all values $0 \leq z \leq \beta^{n+1}-1$. 
+
+A seperate sign symbol (eg: '-') can be used to represent negative integers using the same digit sum.
+
+Example in base 10 (decimal):
+\begin{align}
+       5682_{10} &= 5\times10^3 + 6\times10^2 + 8\times10^1 + 2\times10^0
+\end{align}
+In base 2 (binary) the same integer is:
+\begin{align}
+       1011000110010_2 &= 1\times2^{12} + 0\times2^{11} + \text{ ...} + 0\times2^0
+\end{align}
+
+\subsection{Representation on computer hardware}
+
+Computer hardware implements operations for fixed size integers. The base is $\beta = 2$ and the digits are $\{0, 1\}$. The most significant bit can be reserved for the sign instead of a digit.
+
+We can construct larger size integers by considering some sequence of fixed size integers to be individual digits. In practice we will still be limited by the memory and processing time required for ``big'' integers.
+
+For example, we can represent $5682_{10}$ as a single 16 bit digit or as the sum of two 8 bit digits.
+Each digit is being written in base 2 or 10 because there is not a universal base with $\geq2^8$ unique symbols.
+
+\begin{align}
+       5682_{10} &= 0001011000110010_2 = 10110_2\times2^8+ 110010_2\times 2^0 \\
+        &= 22_{10}\times2^{8} + 50_{10}\times2^{0}
+\end{align}
+
+\section{Addition Algorithms}
+
+
+
+\section{Subtraction Algorithms}
+
+\section{Multiplication Algorithms}
+
+\section{Division Algorithms}
+
+\subsection{Naive Algorithm}
+
+\subsection{Shifting Algorithm}
+
+\section{Base conversion}
+
+Since humans are not very good at understanding binary, it is convenient to convert integer representations from one base to another. 
+
+
+\section{IPDF Integer Representations}
+
+
+
+
+\end{document}
index 56772f0..380f44b 100644 (file)
Binary files a/LiteratureNotes.pdf and b/LiteratureNotes.pdf differ
index 111e220..94670a0 100644 (file)
@@ -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}
 <?xml version="1.0"?>
 <mesh name="mesh_root">
     <!-- here is a mesh node -->
@@ -744,7 +691,7 @@ Example of XML parsing using pugixml is in \shell{code/src/tests/xml.cpp}
     </node>
 </mesh>
 <?include somedata?>
-\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}
 
index 4a62ee5..707a63c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 TARGETS = LiteratureNotes.pdf
 
-all : $(TARGETS) clean
+all : $(TARGETS)
 
 rebuild : 
        make clean_full
@@ -8,10 +8,10 @@ rebuild :
 
 %.pdf : %.tex papers.bib
        # Incoming wall of text
-       pdflatex $*
+       pdflatex -shell-escape $*
        bibtex $*
-       pdflatex $*
-       pdflatex $*
+       pdflatex -shell-escape $*
+       pdflatex -shell-escape $*
 
 clean :
        # LaTeX makes way too many output files; get rid of them all
diff --git a/figures/koch.svg b/figures/koch.svg
new file mode 100644 (file)
index 0000000..12bb519
--- /dev/null
@@ -0,0 +1 @@
+<svg id="kochSVG" xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="140"><path id="line" style="stroke:#0000FF; fill:#FF0000; stroke-width:0.5px;" d="M 100,100 100.82304526748972,100 101.23456790123457,100.82304526748972 101.64609053497942,100 102.46913580246914,100 102.88065843621399,100.82304526748972 102.2633744855967,101.64609053497942 103.29218106995884,101.64609053497942 103.7037037037037,102.46913580246914 104.11522633744855,101.64609053497942 105.1440329218107,101.64609053497942 104.52674897119341,100.82304526748972 104.93827160493827,100 105.76131687242798,100 106.17283950617283,100.82304526748972 106.58436213991769,100 107.4074074074074,100 107.81893004115226,100.82304526748972 107.20164609053496,101.64609053497942 108.23045267489712,101.64609053497942 108.64197530864197,102.46913580246914 108.0246913580247,103.29218106995884 106.89300411522635,103.08641975308642 107.4074074074074,104.11522633744856 106.79012345679013,104.93827160493827 107.81893004115227,104.93827160493827 108.33333333333334,105.96707818930041 108.8477366255144,104.93827160493827 109.87654320987654,104.93827160493827 110.2880658436214,105.76131687242798 109.6707818930041,106.58436213991769 110.69958847736626,106.58436213991769 111.11111111111111,107.4074074074074 111.52263374485597,106.58436213991769 112.55144032921812,106.58436213991769 111.93415637860083,105.76131687242798 112.34567901234568,104.93827160493827 113.37448559670783,104.93827160493827 113.88888888888889,105.96707818930041 114.40329218106996,104.93827160493827 115.4320987654321,104.93827160493827 114.81481481481482,104.11522633744856 115.32921810699588,103.08641975308642 114.19753086419753,103.29218106995884 113.58024691358025,102.46913580246914 113.9917695473251,101.64609053497942 115.02057613168726,101.64609053497942 114.40329218106997,100.82304526748972 114.81481481481482,100 115.63786008230454,100 116.0493827160494,100.82304526748972 116.46090534979425,100 117.28395061728396,100 117.69547325102882,100.82304526748972 117.07818930041152,101.64609053497942 118.10699588477368,101.64609053497942 118.51851851851853,102.46913580246914 118.93004115226339,101.64609053497942 119.95884773662553,101.64609053497942 119.34156378600824,100.82304526748972 119.75308641975309,100 120.5761316872428,100 120.98765432098766,100.82304526748972 121.39917695473251,100 122.22222222222223,100 122.63374485596708,100.82304526748972 122.0164609053498,101.64609053497942 123.04526748971195,101.64609053497942 123.4567901234568,102.46913580246914 122.8395061728395,103.29218106995884 121.70781893004116,103.0864197530864 122.22222222222223,104.11522633744856 121.60493827160494,104.93827160493827 122.63374485596708,104.93827160493827 123.14814814814815,105.96707818930041 123.66255144032922,104.93827160493827 124.69135802469137,104.93827160493827 125.10288065843622,105.76131687242798 124.48559670781894,106.58436213991769 125.51440329218109,106.58436213991769 125.92592592592594,107.4074074074074 125.30864197530866,108.23045267489712 124.1769547325103,108.0246913580247 124.69135802469137,109.05349794238683 124.07407407407409,109.87654320987654 122.94238683127573,109.67078189300412 122.58230452674898,108.43621399176953 121.81069958847738,109.46502057613169 120.67901234567901,109.25925925925927 121.19341563786008,110.28806584362141 120.42181069958848,111.31687242798355 121.70781893004116,111.31687242798354 122.22222222222223,112.34567901234568 121.60493827160495,113.1687242798354 120.47325102880659,112.96296296296298 120.98765432098766,113.9917695473251 120.37037037037038,114.81481481481482 121.39917695473252,114.81481481481482 121.9135802469136,115.84362139917697 122.42798353909465,114.81481481481482 123.4567901234568,114.81481481481482 123.97119341563787,115.84362139917697 123.19958847736626,116.8724279835391 124.48559670781894,116.8724279835391 125.00000000000001,117.90123456790124 125.51440329218109,116.8724279835391 126.80041152263377,116.8724279835391 126.02880658436216,115.84362139917697 126.54320987654323,114.81481481481482 127.57201646090537,114.81481481481482 128.08641975308643,115.84362139917697 128.6008230452675,114.81481481481482 129.62962962962965,114.81481481481482 130.0411522633745,115.63786008230454 129.42386831275724,116.46090534979425 130.45267489711935,116.46090534979425 130.8641975308642,117.28395061728396 130.2469135802469,118.10699588477368 129.11522633744858,117.90123456790126 129.62962962962965,118.93004115226339 129.01234567901236,119.7530864197531 130.0411522633745,119.7530864197531 130.55555555555557,120.78189300411523 131.06995884773664,119.75308641975309 132.0987654320988,119.75308641975309 132.51028806584364,120.5761316872428 131.89300411522635,121.39917695473251 132.9218106995885,121.39917695473251 133.33333333333334,122.22222222222223 133.7448559670782,121.39917695473251 134.77366255144034,121.39917695473251 134.15637860082305,120.5761316872428 134.5679012345679,119.75308641975309 135.59670781893004,119.75308641975309 136.11111111111111,120.78189300411523 136.6255144032922,119.7530864197531 137.65432098765433,119.7530864197531 137.03703703703704,118.93004115226339 137.5514403292181,117.90123456790126 136.41975308641977,118.10699588477368 135.80246913580248,117.28395061728396 136.21399176954733,116.46090534979425 137.24279835390945,116.46090534979425 136.6255144032922,115.63786008230454 137.03703703703704,114.81481481481482 138.06584362139918,114.81481481481482 138.58024691358025,115.84362139917697 139.09465020576133,114.81481481481482 140.12345679012347,114.81481481481482 140.63786008230454,115.84362139917697 139.86625514403295,116.87242798353911 141.1522633744856,116.87242798353911 141.66666666666669,117.90123456790126 142.18106995884776,116.87242798353911 143.46707818930042,116.87242798353911 142.69547325102883,115.84362139917697 143.2098765432099,114.81481481481482 144.23868312757205,114.81481481481482 144.75308641975312,115.84362139917697 145.2674897119342,114.81481481481482 146.29629629629633,114.81481481481482 145.67901234567904,113.9917695473251 146.1934156378601,112.96296296296298 145.06172839506178,113.1687242798354 144.44444444444449,112.34567901234568 144.95884773662556,111.31687242798354 146.24485596707822,111.31687242798353 145.4732510288066,110.2880658436214 145.98765432098767,109.25925925925925 144.8559670781893,109.46502057613168 144.0843621399177,108.43621399176955 143.72427983539097,109.67078189300412 142.5925925925926,109.87654320987654 141.97530864197532,109.05349794238683 142.4897119341564,108.0246913580247 141.35802469135805,108.23045267489712 140.74074074074076,107.4074074074074 141.1522633744856,106.58436213991769 142.18106995884773,106.58436213991769 141.56378600823047,105.76131687242798 141.97530864197532,104.93827160493827 143.00411522633746,104.93827160493827 143.51851851851853,105.96707818930041 144.0329218106996,104.93827160493827 145.06172839506175,104.93827160493827 144.44444444444446,104.11522633744856 144.95884773662553,103.08641975308642 143.8271604938272,103.29218106995884 143.2098765432099,102.46913580246914 143.62139917695475,101.64609053497942 144.6502057613169,101.64609053497942 144.0329218106996,100.82304526748972 144.44444444444446,100 145.26748971193416,100 145.67901234567904,100.82304526748972 146.0905349794239,100 146.9135802469136,100 147.32510288065845,100.82304526748972 146.70781893004119,101.64609053497942 147.7366255144033,101.64609053497942 148.14814814814815,102.46913580246914 148.559670781893,101.64609053497942 149.58847736625515,101.64609053497944 148.97119341563788,100.82304526748972 149.38271604938274,100 150.20576131687244,100 150.61728395061732,100.82304526748972 151.02880658436217,100 151.85185185185188,100 152.26337448559673,100.82304526748972 151.64609053497946,101.64609053497942 152.67489711934158,101.64609053497942 153.08641975308643,102.46913580246914 152.46913580246914,103.29218106995884 151.3374485596708,103.08641975308642 151.85185185185188,104.11522633744856 151.23456790123458,104.93827160493827 152.26337448559673,104.93827160493827 152.7777777777778,105.96707818930041 153.29218106995887,104.93827160493827 154.32098765432102,104.93827160493827 154.73251028806587,105.76131687242798 154.11522633744858,106.58436213991769 155.14403292181072,106.58436213991769 155.55555555555557,107.4074074074074 155.96707818930042,106.58436213991769 156.99588477366257,106.58436213991769 156.37860082304528,105.76131687242798 156.79012345679013,104.93827160493827 157.81893004115227,104.93827160493827 158.33333333333334,105.96707818930041 158.84773662551441,104.93827160493827 159.87654320987656,104.93827160493827 159.25925925925927,104.11522633744856 159.77366255144034,103.08641975308642 158.641975308642,103.29218106995884 158.0246913580247,102.46913580246914 158.43621399176956,101.64609053497942 159.46502057613168,101.64609053497942 158.84773662551441,100.82304526748972 159.25925925925927,100 160.08230452674897,100 160.49382716049382,100.82304526748972 160.9053497942387,100 161.7283950617284,100 162.13991769547326,100.82304526748972 161.522633744856,101.64609053497944 162.55144032921814,101.64609053497942 162.962962962963,102.46913580246914 163.37448559670784,101.64609053497942 164.40329218106996,101.64609053497942 163.7860082304527,100.82304526748972 164.19753086419755,100 165.02057613168725,100 165.4320987654321,100.82304526748972 165.84362139917698,100 166.66666666666669,100 167.07818930041154,100.82304526748972 166.46090534979425,101.64609053497942 167.4897119341564,101.64609053497942 167.90123456790124,102.46913580246914 167.28395061728395,103.29218106995884 166.1522633744856,103.08641975308642 166.66666666666669,104.11522633744856 166.0493827160494,104.93827160493827 167.07818930041154,104.93827160493827 167.5925925925926,105.96707818930041 168.10699588477368,104.93827160493827 169.13580246913583,104.93827160493827 169.54732510288068,105.76131687242798 168.9300411522634,106.58436213991769 169.95884773662553,106.58436213991769 170.37037037037038,107.4074074074074 169.7530864197531,108.23045267489712 168.6
diff --git a/figures/test.svg b/figures/test.svg
new file mode 100644 (file)
index 0000000..fc8bceb
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+
+<?include somedata?>
index d5a2511..362dedf 100644 (file)
@@ -1137,3 +1137,13 @@ pages={327-341},
 keywords={Calculators;Character recognition;Engine cylinders;Engineering drawings;Hardware;History;Information analysis;Information processing;Permission;Time sharing computer systems},
 doi={10.1109/MAHC.1982.10042},
 ISSN={0164-1239},}
+
+@article{heckmann1998bigintegers,
+       author = "Reinhold Heckmann",
+       title = "Big Integers and Complexity Issues in Exact Real Arithmetic",
+       journal = "Electronic Notes in Theoretical Computer Science",
+       Volume = 13, 
+       year = 1998, 
+       pages = 69, 
+       doi = "10.1016/S1571-0661(05)80215-4"
+}
diff --git a/references/bryant2005x86-64programming.pdf b/references/bryant2005x86-64programming.pdf
new file mode 100644 (file)
index 0000000..bb08d1a
Binary files /dev/null and b/references/bryant2005x86-64programming.pdf differ
diff --git a/references/ferrari1999tiny-guide-to-x86.pdf b/references/ferrari1999tiny-guide-to-x86.pdf
new file mode 100644 (file)
index 0000000..75da4c2
Binary files /dev/null and b/references/ferrari1999tiny-guide-to-x86.pdf differ
diff --git a/references/gmp-man-6.0.0a.pdf b/references/gmp-man-6.0.0a.pdf
new file mode 100644 (file)
index 0000000..6791d93
Binary files /dev/null and b/references/gmp-man-6.0.0a.pdf differ
diff --git a/references/heckmann1998bigintegers.pdf b/references/heckmann1998bigintegers.pdf
new file mode 100644 (file)
index 0000000..2780826
Binary files /dev/null and b/references/heckmann1998bigintegers.pdf differ
diff --git a/references/matz2013amd64abi.pdf b/references/matz2013amd64abi.pdf
new file mode 100644 (file)
index 0000000..22942fe
Binary files /dev/null and b/references/matz2013amd64abi.pdf differ
diff --git a/references/pstutorial.pdf b/references/pstutorial.pdf
new file mode 100644 (file)
index 0000000..50f1bb1
Binary files /dev/null and b/references/pstutorial.pdf differ
diff --git a/template.tex b/template.tex
new file mode 100644 (file)
index 0000000..dd28ba0
--- /dev/null
@@ -0,0 +1,56 @@
+
+\usepackage{makeidx}
+\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}
+\usepackage{setspace}
+\usepackage{anyfontsize}
+\usepackage{mdframed}
+\usepackage[compact]{titlesec}
+\usepackage[table]{xcolor}
+
+ \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{minted} % For code snippets
+\AtBeginEnvironment{minted}{\singlespacing\fontsize{7}{7}\selectfont}
+\definecolor{pink}{rgb}{1.0,0.5,0.5}
+\definecolor{darkgray}{rgb}{0.1,0.1,0.1}
+\definecolor{lightgray}{rgb}{0.95,0.95,0.95}
+\definecolor{gray}{rgb}{0.5,0.5,0.5}
+\definecolor{darkred}{rgb}{0.75,0,0}
+\definecolor{darkblue}{rgb}{0,0,0.35}
+\definecolor{green}{rgb}{0,0.70,0}
+\definecolor{black}{rgb}{0,0,0}
+
+\newcommand{\shell}[1]{\texttt{#1}}
+\newcommand{\code}[1]{\texttt{#1}}
+\renewcommand{\url}[1]{$\langle$\href{#1}{\underline{\color{blue}{#1}}}$\rangle$}
+
+

UCC git Repository :: git.ucc.asn.au