1 % PostScript Reference Manual
3 title={PostScript Language Reference},
4 author={Adobe Systems Incorporated},
6 publisher="Addison-Wesley Publishing Company",
10 % PDF Reference Manual v1.7
12 title={PDF Reference},
13 author={Adobe Systems Incorporated},
15 publisher={Adobe Systems Incorporated},
20 title={Preliminary preliminary description of {\TeX}},
21 author={Knuth, Donald},
23 howpublished={\url{http://www.saildart.org/TEXDR.AFT[1,DEK]1}}
26 @article{fuchs1982theformat,
27 title={The Format of {\TeX}'s {DVI} files},
28 author={Fuchs, David},
33 howpublished={\url{http://www.tug.org/TUGboat/Articles/tb03-2/tb06software.pdf}}
38 title={Hypertext Markup Language -- 2.0},
39 author={Berners-Lee, Tim and Connolly, Daniel},
41 journal={Internet RFC 1866}
46 title={Cascading Style Sheets, Level 2, {CSS2} Specification},
47 author={Bos, Bert and Wium Lie, Håkon and Lilley, Chris and Jacobs Ian},
49 howpublished={\url{http://www.w3.org/TR/1998/REC-CSS2-19980512/}}
53 title={GhostScript, an interpreter for the PostScript language and PDF},
54 author={Artifex Software},
56 howpublished={\url{http://www.ghostscript.com/}}
59 %%%%%%%%%%%%%%%%%%%%%%%%
60 % Basic Rendering Theory
61 %%%%%%%%%%%%%%%%%%%%%%%%
63 %Porter-Duff compositing.
64 % Keith Packard has a really nice PDF version of this.
65 @inproceedings{porter1984compositing,
66 title={Compositing digital images},
67 author={Porter, Thomas and Duff, Tom},
68 booktitle={ACM SIGGRAPH Computer Graphics},
76 %Bresenham's Line Drawing Algorithm
77 % See Michael Abrash's Graphics Programming Black Book for a
78 % much better guide to implementing this (at least on the 486)
79 @article{bresenham1965algorithm,
80 title={Algorithm for computer control of a digital plotter},
81 author={Bresenham, Jack E},
82 journal={IBM Systems journal},
90 % Basically my favourite thing on triangle rasterization.
91 % There are older ones, but this one makes sense.
92 @misc{giesen2013triangle,
93 title={Triangle rasterization in practice},
94 author={Giesen, Fabien},
96 journal={The ryg blog},
99 howpublished={\url{http://fgiesen.wordpress.com/2013/02/08/triangle-rasterization-in-practice/}}
102 % A paper on polygon rasterization. Probably should find a nice textbook on
104 @article{pineda1988parallel,
105 title={A parallel algorthim for polygon rasterization},
106 author={Pineda, Juan},
107 journal={ACM Computer Graphics},
115 % Bézier curves and friends.
116 @phdthesis{catmull1974asubdivision,
117 author = {Catmull, Edwin Earl},
118 title = {A Subdivision Algorithm for Computer Display of Curved Surfaces.},
121 publisher = {The University of Utah},
125 %%%%%%%%%%%%%%%%%%%%%%%
126 % Floating-pt Precision
127 %%%%%%%%%%%%%%%%%%%%%%%
128 Goldberg:1991:CSK:103162.103163,
129 @article{goldberg1991whatevery,
130 author = {Goldberg, David},
131 title = {What Every Computer Scientist Should Know About Floating-point Arithmetic},
132 journal = {ACM Comput. Surv.},
133 issue_date = {March 1991},
141 url = {http://doi.acm.org/10.1145/103162.103163},
142 doi = {10.1145/103162.103163},
145 address = {New York, NY, USA},
146 keywords = {NaN, denormalized number, exception, floating-point, floating-point standard, gradual underflow, guard digit, overflow, relative error, rounding error, rounding mode, ulp, underflow},
149 @misc{arb_gpu_shader_fp64,
150 title={{ARB\_gpu\_shader\_fp64}},
151 author={Brown, Pat and Lichtenbelt, Barthold and Licea-Kane, Bill and Merry, Bruce and Dodd, Chris and Werness, Eric and Sellers, Graham and Roth, Greg and Bolz, Jeff and Haemel, Nick and Boudier, Pierre and Daniell, Piers},
153 journal={OpenGL Extension},
154 publisher={Kronos Group},
155 howpublished={\url{http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt}}
159 title={{NV\_half\_float}},
162 journal={OpenGL Extension},
163 publisher={NVIDIA Corporation},
164 howpublished={\url{http://www.opengl.org/registry/specs/NV/half_float.txt}}
167 @inproceedings{emmart2010high,
168 title={High precision integer multiplication with a graphics processing unit},
169 author={Emmart, Niall and Weems, Charles},
170 booktitle={2010 IEEE International Symposium on Parallel \& Distributed Processing, Workshops and Phd Forum (IPDPSW)},
176 @article{ieee754std1985,
177 journal={{ANSI}/{IEEE} Std 754-1985},
178 title={{IEEE} Standard for Binary Floating-Point Arithmetic},
182 @article{ieee754std2008,
183 journal={{IEEE} Std 754-2008},
184 title={{IEEE} Standard for Floating-Point Arithmetic},
192 %%%%%%%%%%%%%%%%%%%%%%%%
194 %%%%%%%%%%%%%%%%%%%%%%%%
196 % OpenGL 4.4 (core profile) spec.
197 % The latest OpenGL spec.
198 % See: http://www.opengl.org/registry/doc/glspec44.core.pdf
200 title={The {OpenGL}\textregistered Graphics System: A Specification},
201 author={Segal, Mark and Akely, Kurt and Leech, Jon},
203 publisher={The Kronos Group, Inc},
204 url={http://www.opengl.org/registry/doc/glspec44.core.pdf}
207 % The valve paper on using signed distance fields, scaling them and then alpha testing
208 % them to have a smooth, defined boundary for "vector"-like effects.
209 % Also talks of using several channels in the image and running boolean operations on them
210 % to create sharp corners, etc.
211 @inproceedings{green2007improved,
212 title={Improved alpha-tested magnification for vector textures and special effects},
213 author={Green, Chris},
214 booktitle={{ACM} {SIGGRAPH} 2007 courses},
220 % A fast approximation to the signed distance field calculation for pixel grids
221 @article{leymarie1992fast,
222 title={Fast raster scan distance propagation on the discrete rectangular lattice},
223 author={Leymarie, F and Levine, Martin D},
224 journal={CVGIP: Image Understanding},
232 % Good overview of SDFs and the use of quad/octrees to better encode fine detail.
233 @inproceedings{frisken2000adaptively,
234 title={Adaptively sampled distance fields: a general representation of shape for computer graphics},
235 author={Frisken, Sarah F and Perry, Ronald N and Rockwood, Alyn P and Jones, Thouis R},
236 booktitle={Proceedings of the 27th annual conference on Computer graphics and interactive techniques},
239 organization={ACM Press/Addison-Wesley Publishing Co.}
243 % Split texture into a grid/quadtree, have each element represented by a set of cubic equations, combined CSG style.
244 % Need to read this further to understand some of the nuance, though I expect GLyphy does this better?
245 @techreport{ray2005vector,
246 title={Vector texture maps on the {GPU}},
247 author={Ray, Nicolas and Cavin, Xavier and L{\'e}vy, Bruno},
249 institution={Technical Report ALICE-TR-05-003}
252 % GLyphy: https://github.com/behdad/slippy/tree/master/glyphy
253 % Can I get these slides into a readable format, and is it formal enough?
254 % The caricatures of the Intel OpenGL driver team are good, if nothing else.
256 % Cairo rendering library. Basically implements the rendering bits of postscript in C,
257 % the basis for many Linux vector graphics programs.
258 @inproceedings{worth2003xr,
259 title={Xr: Cross-device rendering for vector graphics},
260 author={Worth, Carl and Packard, Keith},
261 booktitle={Linux Symposium},
267 % Glitz cairo opengl backend.
268 @inproceedings{nilsson2004glitz,
269 title={Glitz: Hardware Accelerated Image Compositing Using {O}pen{GL}.},
270 author={Nilsson, Peter and Reveman, David},
271 booktitle={USENIX Annual Technical Conference, FREENIX Track},
276 % Basically an earlier but more detailed version of the below.
277 @article{loop2005resolution,
278 title={Resolution independent curve rendering using programmable graphics hardware},
279 author={Loop, Charles and Blinn, Jim},
280 journal={ACM Transactions on Graphics (TOG)},
289 % GPU Gems 3 article about using textures for the edges of smooth curves.
290 % http://http.developer.nvidia.com/GPUGems3/gpugems3_ch25.html
291 @article{loop2007rendering,
292 title={Rendering vector art on the GPU},
293 author={Loop, Charles and Blinn, Jim},
294 journal={{GPU} gems},
301 % The article introducing the NV_path_rendering opengl extension
302 % (nVidia-specific) which uses a "stencil-then-cover" technique to render
303 % real vector graphics (not an approximation) on the GPU.
304 % See Zach Rusin's blog post comparing it to Qt's SVG renderer.
305 % http://zrusin.blogspot.com.au/2011/09/nv-path-rendering.html
306 @article{kilgard2012gpu,
307 title={{GPU}-accelerated path rendering},
308 author={Kilgard, Mark J and Bolz, Jeff},
309 journal={{ACM} Transactions on Graphics (TOG)},
316 % An extension to the above, detailing the use of the extension, rather than the way it is implemented.
317 @article{kilgard300programming,
318 title={Programming with {NV} path rendering: An Annex to the {SIGGRAPH} paper {GPU}-accelerated Path Rendering},
319 author={Kilgard, Mark J},
325 % GL_NV_blend_equation_advanced OpenGL extension
326 % https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt
327 % TODO: How to reference this??
328 % Bascially supports all PDF, SVG blend modes and then some.
329 % Pretty much only nVidia support this, but the specification
330 % includes the equations for everything, which is nice.
332 % OpenVG is an opengl-ish API for vector graphics.
333 % More based around SVG than postscript, but not bad.
334 @article{rice2008openvg,
335 title={{OpenVG} Specification, version 1.1},
336 author={Rice, Daniel and Simpson, RJ},
337 journal={Khronos Group},
342 % Implementing OpenVG using OpenGL ES 1. Pretty high-level overview.
343 % Basically boiled down to "we tesselated to get curves, and then used textures for fill"
344 @inproceedings{oh2007implementation,
345 title={Implementation of {OpenVG} 1.0 using {OpenGL} {ES}},
346 author={Oh, Aekyung and Sung, Hyunchan and Lee, Hwanyong and Kim, Kujin and Baek, Nakhoon},
347 booktitle={Proceedings of the 9th international conference on Human computer interaction with mobile devices and services},
353 % Implementing the OpenVG paint modes using GLES2 shaders.
354 % This is all pretty simple stuff.
355 @inproceedings{robart2009openvg,
356 title={{OpenVG} paint subsystem over {OpenGL} {ES} shaders},
357 author={Robart, Mathieu},
358 booktitle={Consumer Electronics, 2009. ICCE'09. Digest of Technical Papers International Conference on},
364 @article{blinn1992trip,
365 title={A Trip Down the Graphics Pipeline: Grandpa, What Does “Viewport” Mean?},
366 author={Blinn, James},
367 journal={Computer Graphics and Applications, IEEE},
375 @ARTICLE{blinn1991trip,
376 author={Blinn, James},
377 journal={Computer Graphics and Applications, IEEE},
378 title={A Trip Down the Graphics Pipeline: Line Clipping},
384 keywords={computer graphics;Z clipping;clipping function;computer graphics;global clipping;homogeneous clipping;line clipping;transform-clip-draw pipeline;Application software;Arithmetic;Assembly;Computer graphics;Displays;Education;Hardware;Pipelines;Standards publication},
385 doi={10.1109/38.67707},
392 @article{finkel1974quad,
393 title={Quad trees a data structure for retrieval on composite keys},
394 author={Finkel, Raphael A. and Bentley, Jon Louis},
395 journal={Acta informatica},
404 @inproceedings{fuchs1980onvisible,
405 author = {Fuchs, Henry and Kedem, Zvi M. and Naylor, Bruce F.},
406 title = {On Visible Surface Generation by a Priori Tree Structures},
407 booktitle = {Proceedings of the 7th Annual Conference on Computer Graphics and Interactive Techniques},
408 series = {SIGGRAPH '80},
410 isbn = {0-89791-021-4},
411 location = {Seattle, Washington, USA},
414 url = {http://doi.acm.org/10.1145/800250.807481},
415 doi = {10.1145/800250.807481},
418 address = {New York, NY, USA},
422 @article{bentley1975multidimensional,
423 author = {Bentley, Jon Louis},
424 title = {Multidimensional Binary Search Trees Used for Associative Searching},
425 journal = {Commun. ACM},
426 issue_date = {Sept. 1975},
434 url = {http://doi.acm.org/10.1145/361002.361007},
435 doi = {10.1145/361002.361007},
438 address = {New York, NY, USA},
439 keywords = {associative retrieval, attribute, binary search trees, binary tree insertion, information retrieval system, intersection queries, key, nearest neighbor queries, partial match queries},
443 % Basic overview of PDF and how it is awesome.
444 % This doesn't seem like a major revelation for 2002
445 @article{cheng2002portable,
446 Abstract = {Focuses on the portable document format (PDF) as a universal document exchange technology. Features of PDF; PDF software; Description of how to create a PDF file.},
447 Author = {Wan-Lee Cheng, Michael A.},
449 Journal = {Journal of Technology Studies},
450 Keywords = {PDF (Computer file format), FILE organization (Computer science), ELECTRONIC data processing},
453 Title = {Portable Document Format ({PDF}) -- Finally, a Universal Document Exchange Technology.},
455 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=11512377&site=ehost-live},
459 % Overview of different formats
460 % Talks about JavaScript being the future
462 @article{hayes2012pixels,
463 Abstract = {The article discusses digital methods for producing and reproducing scientific illustrations for online publication. Topics covered include the benefits of digital techniques for publishing such as three-dimensional graphics, the contribution to the visual quality of artwork using the computer language PostScript, and the Internet as a source for innovation in graphics like Scalable Vector Graphics (SVG). Also mentioned is the JavaScript library D3, an open-source software project, which can create and modify elements.},
464 Author = {Hayes, Brian},
466 Journal = {American Scientist},
467 Keywords = {ELECTRONIC publishing, SCIENCE publishing, GRAPHIC methods -- Software, POSTSCRIPT (Computer program language), JAVASCRIPT (Computer program language), CHARTS, diagrams, etc., DESIGN & construction},
470 Title = {Pixels or Perish.},
472 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=71853141&site=ehost-live},
476 % Embedding 3D models / graphs in PDFs
477 % Actually works (in Adobe Reader)
478 @article{barnes2013embedding,
479 Abstract = {With the latest release of the S2PLOT graphics library, embedding interactive, 3-dimensional (3-d) scientific figures in Adobe Portable Document Format (PDF) files is simple, and can be accomplished without commercial software. In this paper, we motivate the need for embedding 3-d figures in scholarly articles. We explain how 3-d figures can be created using the S2PLOT graphics library, exported to Product Representation Compact (PRC) format, and included as fully interactive, 3-d figures in PDF files using the movie15 LaTeX package. We present new examples of 3-d PDF figures, explain how they have been made, validate them, and comment on their advantages over traditional, static 2-dimensional (2-d) figures. With the judicious use of 3-d rather than 2-d figures, scientists can now publish, share and archive more useful, flexible and faithful representations of their study outcomes. The article you are reading does not have embedded 3-d figures. The full paper, with embedded 3-d figure},
480 Author = {Barnes, David G. and Vidiassov, Michail and Ruthensteiner, Bernhard and Fluke, Christopher J. and Quayle, Michelle R. and McHenry, Colin R.},
482 Journal = {PLoS ONE},
483 Keywords = {PDF (Computer file format), EMBEDDINGS (Mathematics), COMPUTER software, THREE-dimensional imaging, LATEX (Computer software), COMPUTER graphics, Research Article},
486 Title = {Embedding and Publishing Interactive, 3-Dimensional, Scientific Figures in Portable Document Format (PDF) Files.},
488 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=90530375&site=ehost-live},
492 %Goldberg:1992:DFD:151333.151373
493 % Looks useful... although it does have FORTRAN in it
494 @article{goldberg1992thedesign,
495 author = {Goldberg, David},
496 title = {The Design of Floating-point Data Types},
497 journal = {ACM Lett. Program. Lang. Syst.},
498 issue_date = {June 1992},
506 url = {http://doi.acm.org/10.1145/151333.151373},
507 doi = {10.1145/151333.151373},
510 address = {New York, NY, USA},
511 keywords = {Ada, FORTRAN 90, Modula-3, backward error analysis, error analysis, exceptions, floating point, floating-point standard, guard digit, precision, rounding, ulp},
514 % It seems wierd using our last names...
516 title = "Infinite-precision Document Formats (Project Proposal)",
517 author = "David Gow",
519 howpublished = "\url{http://davidgow.net/stuff/ProjectProposal.pdf}"
522 % Note the different title
524 title = "Infinite Precision Document Formats (Project Proposal)",
525 author = "Sam Moore",
527 howpublished = "\url{http://szmoore.net/ipdf/documents/ProjectProposalSam.pdf}"
530 % The Fractal Nature of Bezier Curves
532 @article{goldman_thefractal,
533 title = "The Fractal Nature of Bezier Curves",
534 author = "Ron Goldman",
535 publisher = "Department of Computer Science, Rice University",
536 address = "6100 Main Street, Houstan, Texas",
537 note = "The de Casteljau subdivision algorithm is used to show that Bezier curves are also attractors (ie: fractals).
538 A new rendering algorithm is derived for Bezier curves."
541 % Talks about security of PDF, probably not useful,
542 @article{sami2009alook,
543 Abstract = {Abstract: Portable Document Format (PDF) developed by Adobe Systems Inc. is a flexible and popular document distribution and delivery file format, and it is supported within various operating systems and devices. This article provides insight for some of the security issues within the format itself as well as an outlook of the vulnerabilities found from various versions of Adobe‘s own PDF viewer implementation. [Copyright &y& Elsevier]},
544 Author = {Rautiainen, Sami},
546 Journal = {Information Security Technical Report},
547 Keywords = {PDF (Computer file format), FILE organization (Computer science), SYSTEMS software, COMPUTER files},
550 Title = {A look at Portable Document Format vulnerabilities.},
552 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=40637035&site=ehost-live},
556 % Interesting but not related to the project
557 @article{bergen2012automatic,
558 Abstract = {Vector graphics are popular in illustration and graphic design. Images are composed of discrete geometric shapes, such as circles, squares, and lines. The generation of vector images by evolutionary computation techniques, however, has been given little attention. JNetic is an implementation of a comprehensive evolutionary vector graphics tool. Vector primitives available range from simple geometric shapes (circles, polygons) to spline-based paint strokes. JNetic supports automatic and user-guided evolution, chromosome editing, and high-detail masks. Automatic evolution involves measuring the pixel-by-pixel colour distance between a candidate and target image. Masks can be painted over areas of the target image, which help reproduce the high-detail features within those areas. By creative selection of primitives and colour schemes, stylized interpretations of target images are produced. The system has been successfully used by the authors as a creative tool. [ABSTRACT FROM AUTHOR]},
559 Author = {Bergen, Steven and Ross, Brian},
561 Journal = {Visual Computer},
562 Keywords = {GRAPHIC arts, GENETIC algorithms, GRAPHIC design, GRAPHIC designers, VISUAL communication, RESEARCH, Evolutionary art, Genetic algorithm, Vector graphics},
565 Title = {Automatic and interactive evolution of vector graphics images with genetic algorithms.},
567 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=70129435&site=ehost-live},
571 % Similar to goldman1992, also old, need to find newer references
572 @INPROCEEDINGS{priest1991algorithms,
573 author={Priest, D.M.},
574 booktitle={Computer Arithmetic, 1991. Proceedings., 10th IEEE Symposium on},
575 title={Algorithms for arbitrary precision floating point arithmetic},
579 keywords={digital arithmetic;number theory;coordinates;floating point arithmetic;intersection point;line intersection;line segment;Algorithm design and analysis;Costs;Error analysis;Floating-point arithmetic;Hardware;High performance computing;Libraries;Mathematics;Packaging;Roundoff errors},
580 doi={10.1109/ARITH.1991.145549},}
582 @article{goldbern1967twentyseven,
583 author = {Goldberg, I. Bennett},
584 title = {27 Bits Are Not Enough for 8-digit Accuracy},
585 journal = {Commun. ACM},
586 issue_date = {Feb. 1967},
594 url = {http://doi.acm.org/10.1145/363067.363112},
595 doi = {10.1145/363067.363112},
598 address = {New York, NY, USA},
603 % Boost multiprecision library
604 @misc{boost_multiprecision,
605 author = {John Maddock and Christopher Kormanyos},
606 title = {Boost Multiprecision Library},
607 howpublished = {\url{http://www.boost.org/doc/libs/1_53_0/libs/multiprecision/doc/html/boost_multiprecision/}}
611 author = {Oracle Corporation},
612 title = {java.math.{BigInteger}},
613 booktitle = {Java Platform 6 {SE}},
614 urldate = {19-05-2014},
615 howpublished = {\url{http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html}}
618 @misc{java_bigdecimal,
619 author = {Oracle Corporation},
620 title = {java.math.{BigDecimal}},
621 booktitle = {Java Platform 7 {SE}},
622 howpublished = {\url{http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html}},
623 urldate = {19-05-2014}
626 % A CMOS Floating Point Unit
627 @MISC{kelley1997acmos,
628 author = {Michael J. Kelley and Matthew A. Postiff and Advisor Richard and B. Brown},
629 title = {A CMOS Floating Point Unit},
633 @misc{filiatreault2003simply,
634 author = {Raymond Filiatreault},
635 title = "Simply FPU",
637 howpublished = {\url{http://www.website.masmforum.com/tutorials/fptute/index.html}}
640 @article{bishop2008floating,
641 author = {David Bishop},
643 howpublished = {\url{http://www.vhdl.org/fphdl/Float_ug.pdf}},
644 title = {Floating Point Package User's Guide},
645 note = {Technical Report},
646 journal = {EDA Industry Working Groups}
649 @article{dieter2007lowcost,
650 author = {Dieter, William R. and Kaveti, Akil and Dietz, Henry G.},
651 title = {Low-Cost Microarchitectural Support for Improved Floating-Point Accuracy},
652 journal = {IEEE Comput. Archit. Lett.},
653 issue_date = {January 2007},
661 url = {http://dx.doi.org/10.1109/L-CA.2007.1},
662 doi = {10.1109/L-CA.2007.1},
664 publisher = {IEEE Computer Society},
665 address = {Washington, DC, USA},
666 keywords = {B Hardware, B.2 Arithmetic and Logic Structures, B.2.4 High-Speed Arithmetic, B.2.4.b Cost/performance, C Computer Systems Organization, C.0 General, C.0.b Hardware/software interfaces, C.1 Processor Architectures, C.1.5 Micro-architecture implementation considerations, G Mathematics of Computing, G.1 Numerical Analysis, G.1.0 General, G.1.0.e Multiple precision arithmetic, I Computing Methodologies, I.3 Computer Graphics, I.3.1 Hardware Architecture, I.3.1.a Graphics processors},
670 author = "jop-devel",
671 title = "Java Optimized Processor",
672 howpublished = "\url{https://github.com/jop-devel/jop}"
675 @inproceedings{kadric2013accurate,
676 title={Accurate Parallel Floating-Point Accumulation},
677 author={Kadric, Edin and Gurniak, Paul and DeHon, Andr{\'e}},
678 booktitle={Computer Arithmetic (ARITH), 2013 21st IEEE Symposium on},
684 %ghdl, the least shitty of the open source vhdl tools
686 title = "GHDL Guide",
687 author = "Tristan Gingold",
689 howpublished = "\url{http://ghdl.free.fr/ghdl/}"
692 % Look into as an alternative to using text files for FPU simulation?
694 title = "Using Binary Files in VHDL Test Benches",
695 author = "Stephen Tang",
697 howpublished = "\url{http://www.ece.ualberta.ca/~elliott/ee552/studentAppNotes/2000_w/vhdl/BinaryFileTestbenching/binary.html}",
698 note = "Application Notes (webpage)"
701 % On the design of IEEE floating point adders
703 @INPROCEEDINGS{seidel2001onthe,
704 author={Seidel, P.-M. and Even, G.},
705 booktitle={Computer Arithmetic, 2001. Proceedings. 15th IEEE Symposium on},
706 title={On the design of fast IEEE floating-point adders},
710 keywords={adders;circuit optimisation;floating point arithmetic;logic design;IEEE rounding modes;IEEE standard;addition;approximate counting;borrow-save representation;clock periods;complement subtraction;compound adders;double precision;fast IEEE floating-point adder design;fast circuits;latches;latency;leading zeros;logic levels;normalized numbers;normalized rounded sum/difference;optimization techniques;rounding algorithm;sign-magnitude computation;subtraction;Adders;Algorithm design and analysis;Circuits;Clocks;Delay;Design optimization;Latches;Logic design;Partitioning algorithms;Pipelines},
711 doi={10.1109/ARITH.2001.930118},
715 @article{demmel1996basic,
716 title = "Basic Issues in Floating Point Arithmetic and Error Analysis",
717 author = "Jim Demmel",
718 journal = "U.C. Berkeley CS267",
719 note = "Lecture Notes",
720 howpublished = "\url{http://www.cs.berkeley.edu/~demmel/cs267/lecture21/lecture21.html}",
725 title = "GRFPU - High Performance IEEE- 7 5 4 Floating- Point Unit",
726 author = "Edvin Catovic",
727 howpublished = "\url{http://www.gaisler.com/doc/grfpu_dasia.pdf}"
730 % The best quote ever.
731 @misc{beebe2011round32,
732 title = "Re: round32 ( round64 ( X ) ) ?= round32 ( X )",
733 note = "IEEE 754 Working Group Mail Archives",
734 author = "Nelson H. F. Beebe",
735 howpublished = "\url{http://grouper.ieee.org/groups/754/email/msg04169.html}"
738 % Biography of Charles Babbage because WHY NOT?
739 % I suspect this year is wrong?75
740 @ARTICLE{dodge_babbage,
741 author={Dodge, N. S.},
742 journal={Annals of the History of Computing, IEEE},
743 title={Charles Babbage},
749 keywords={Accuracy;Art;Autobiographies;Biographies;Blood;Calculus;Educational institutions;History;Writing},
750 doi={10.1109/MAHC.2000.887988},
753 @article{nature1871babbage,
754 author = "Unknown Author",
756 title = "Charles Babbage",
763 %IEEE 754 Really should have put this in earlier
764 @ARTICLE{ieee2008-754,
765 journal={IEEE Std 754-2008},
766 title={IEEE Standard for Floating-Point Arithmetic},
770 keywords={IEEE standards;floating point arithmetic;programming;IEEE standard;arithmetic formats;computer programming;decimal floating-point arithmetic;754-2008;NaN;arithmetic;binary;computer;decimal;exponent;floating-point;format;interchange;number;rounding;significand;subnormal},
771 doi={10.1109/IEEESTD.2008.4610935},}
774 @article{dekker1971afloating,
777 journal={Numerische Mathematik},
780 doi={10.1007/BF01397083},
781 title={A floating-point technique for extending the available precision},
782 url={http://dx.doi.org/10.1007/BF01397083},
783 publisher={Springer-Verlag},
784 author={Dekker, T.J.},
789 @String{pub-BIRKHAUSER-BOSTON = "Birkh{\"a}user Boston Inc."}
790 @String{pub-BIRKHAUSER-BOSTON:adr = "Cambridge, MA, USA"}
793 author = "Jean-Michel Muller and Nicolas Brisebarre and Florent
794 de Dinechin and Claude-Pierre Jeannerod and Vincent
795 Lef{\`e}vre and Guillaume Melquiond and Nathalie Revol
796 and Damien Stehl{\'e} and Serge Torres",
797 title = "Handbook of Floating-Point Arithmetic",
798 publisher = pub-BIRKHAUSER-BOSTON,
799 address = pub-BIRKHAUSER-BOSTON:adr,
800 pages = "xxiii + 572",
802 DOI = "http://dx.doi.org/10.1007/978-0-8176-4704-9",
803 ISBN = "0-8176-4704-X",
804 ISBN-13 = "978-0-8176-4704-9",
805 LCCN = "QA76.9.C62 H36 2010",
806 bibdate = "Thu Jan 27 16:18:58 2011",
807 price = "US\$90 (est.)",
808 acknowledgement = ack-nhfb,
811 @article{svg2011-1.1,
814 journal = "W3C Recommendation",
815 title = "Scalable Vector Graphics (SVG) 1.1 (Second Edition)",
816 author = "Erik Dahlst{\'o}m and Patric Dengler and Anthony Grasso and Chris Lilley and Cameron McCormack and Doug Schepers and Jonathon Watt and Jon Ferraiolo and Fujisawa Jun and Dean Jackson",
817 howpublished = "\url{http://www.w3.org/TR/SVG/}"
820 @article{xml2008-1.0,
823 journal = "W3C Recommendation",
824 title = "Extensible Markup Language (XML) 1.0 (Fifth Edition)",
826 editor = "Tim Bray and Jean Paoli and C Sperberg-McQueen and Eve Maler and Francois Yergeau",
827 howpublished = "\url{http://www.w3.org/TR/xml/}"
830 @article{html2014-draft,
833 journal = "W3C Candidate Recommendation",
834 title = "HTML5 - Developer View - A Vocabulary and associated APIs for HTML and XHTML",
836 editor = "Robin Berjon and Steve Faulkner and Travis Leithead and Erika Navara and Edward O'Connor and Silvia Pfeiffer and Ian Hickson",
837 howpublished = "\url{http://www.w3.org/TR/html/}"
840 @article{css2011-level2,
843 journal = "W3CRecommendation",
844 title = "Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification",
846 editor = "Bert Bos, Tantex Celik, Ian Hickson, Hakon WiumLie",
847 howpublished = "\url{http://www.w3.org/TR/CSS21/}"
850 @article{kapoulkine2014pugixml,
852 author = "Arseny Kapoulkine",
853 title = "pugixml --- Light-weight, simple and fast XML parser for C++ with XPath support",
854 howpublished="http://pugixml.org",
860 author = "Arseny Kapoulkine",
861 title = "Document Object Model",
862 journal = "pugixml 1.4 manual",
863 howpublished = "http://pugixml.googlecode.com/svn/tags/latest/docs/manual/dom.html"
866 % Rendering vector graphics on vector display devices (historical)
867 %Brassel:1979:ASR:965103.807434,
868 @article{brassel1979analgorithm,
869 author = {Brassel, Kurt E. and Fegeas, Robin},
870 title = {An Algorithm for Shading of Regions on Vector Display Devices},
871 journal = {SIGGRAPH Comput. Graph.},
872 issue_date = {August 1979},
880 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/965103.807434},
881 doi = {10.1145/965103.807434},
884 address = {New York, NY, USA},
885 keywords = {Cartography, Computer graphics, Line-drawing processing, Polygons, Shading, Software, Spatial information},
887 %Lane:1983:AFR:357323.357326,
888 @article{lane1983analgorithm,
889 author = {Lane, J. M. and M. Rarick, R. and},
890 title = {An Algorithm for Filling Regions on Graphics Display Devices},
891 journal = {ACM Trans. Graph.},
892 issue_date = {July 1983},
900 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/357323.357326},
901 doi = {10.1145/357323.357326},
904 address = {New York, NY, USA},
907 @article{hillesland2004paranoia,
908 author = "Karl E Hillesland and Anselmo Lastra",
909 title = "GPU Floating-Point Paranoia",
910 journal = "Proceedings of GP 2004",
912 url = "\url{http://www.cs.unc.edu/~ibr/projects/paranoia/}"
915 %Fousse:2007:MMB:1236463.1236468,
916 @article{fousse2007mpfr,
917 author = {Fousse, Laurent and Hanrot, Guillaume and Lef\`{e}vre, Vincent and P{\'e}lissier, Patrick and Zimmermann, Paul},
918 title = {MPFR: A Multiple-precision Binary Floating-point Library with Correct Rounding},
919 journal = {ACM Trans. Math. Softw.},
920 issue_date = {June 2007},
927 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/1236463.1236468},
928 doi = {10.1145/1236463.1236468},
931 address = {New York, NY, USA},
932 keywords = {IEEE 754 standard, Multiple-precision arithmetic, correct rounding, elementary function, floating-point arithmetic, portable software},
936 @article{kahan1996ieee754,
938 title = "Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic",
939 url = "\url{http://http.cs.berkeley.edu/~wkahan/ieee754status/ieee754.ps}",
944 @article{kahan2007wrong,
946 title = "Why is Floating-Point Computation so Hard to Debug when it Goes Wrong?",
947 howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/WrongR.pdf}",
954 title = "Prof W Kahan's Webpages",
955 howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/}"
958 @book{computergraphics2,
959 author = "Donald Hearn and M Pauline Baker",
960 title = "Computer Graphics",
963 publisher = "Prentice Hall, Inc",
964 address = "Upper Saddle River, New Jersey 07458, USA"
967 @ARTICLE{bresenham1996pixel,
968 author={Bresenham, J.},
969 journal={Computer Graphics and Applications, IEEE},
970 title={Pixel-processing fundamentals},
976 keywords={approximation theory;computer graphics;computer driven raster displays;edge drawing algorithms;explicit reference model;integer arithmetic algorithm;line drawing algorithms;line rastering;objective function;pixel processing fundamentals;pixel space basics;pixel-processing fundamentals;raster approximation;systematic rules;unintentionally fuzzy assumptions;Approximation algorithms;Cities and towns;Color;Computer displays;Layout;Lifting equipment;Painting;Tutorial;Visual effects;Yarn},
977 doi={10.1109/38.481626},
980 % It's a series of blog posts, don't judge me
981 % Also don't look at the rest of the blog, it's strange...
982 @misc{elias2000graphics,
984 author = "Hugo Elias",
985 howpublished = {\url{http://freespace.virgin.net/hugo.elias/graphics/x\_main.htm}},
986 abstract = "This page explains how to draw graphics onto (mostly) Raster display systems. A very small amount could possibly be relevant to vector displays, but who uses those any more?"
989 @article{wu1991anefficient,
990 author = {Wu, Xiaolin},
991 title = {An Efficient Antialiasing Technique},
992 journal = {SIGGRAPH Comput. Graph.},
993 issue_date = {July 1991},
1001 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/127719.122734},
1002 doi = {10.1145/127719.122734},
1005 address = {New York, NY, USA},
1006 keywords = {antialiasing, convolution, curve digitization, digital geometry},
1009 @article{w3c2010svghtmlprimer,
1011 month = "September",
1012 journal = "WC3 Primer (Editor's Draft)",
1013 title = "An SVG Primer for Today's Browsers",
1015 editor = "David Dailey",
1016 howpublished = "\url{http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html}"
1019 % Koch snowflake in French no I didn't read it so sue me it is just here to give Koch credit
1020 @article{koch1904surune,
1022 author = "H Von Koch",
1023 title = "Sur une courbe continue sans tangente, obtenue par une construction géométrique élémentaire." ,
1024 journal = "Archiv för Matemat., Astron. och Fys.",
1029 author = "Adobe Systems Incorporated",
1032 journal = "Adobe Acrobat Reader SDK"
1034 % Holy mackerel, a paper on precision in document formats!
1035 @article{beebe2007extending,
1036 author={Beebe, Nelson},
1037 title={Extending {\TeX} and {METAFONT} With Floating-Point Arithmetic},
1039 journal={{TUGboat}},