Merge branch 'master' of git.ucc.asn.au:ipdf/documents
[ipdf/documents.git] / papers.bib
1 % PostScript Reference Manual
2 @book{plrm,
3   title={PostScript Language Reference},
4   author={Adobe Systems Incorporated},
5   edition={3rd},
6   publisher="Addison-Wesley Publishing Company",
7   year={1985 - 1999}
8 }
9
10 % PDF Reference Manual v1.7
11 @book{pdfref17,
12   title={PDF Reference},
13   author={Adobe Systems Incorporated},
14   edition={6th},
15   publisher={Adobe Systems Incorporated},
16   year={2006}
17 }
18
19 @misc{texdraft,
20   title={Preliminary preliminary description of {\TeX}},
21   author={Knuth, Donald},
22   year={1977},
23   howpublished={\url{http://www.saildart.org/TEXDR.AFT[1,DEK]1}}
24 }
25
26 @article{fuchs1982theformat,
27   title={The Format of {\TeX}'s {DVI} files},
28   author={Fuchs, David},
29   year={1982},
30   journal={TUGBoat},
31   volume={3},
32   number={2},
33   howpublished={\url{http://www.tug.org/TUGboat/Articles/tb03-2/tb06software.pdf}}
34 }
35
36 %%%%%%%%%%%%%%%%%%%%%%%%
37 % Basic Rendering Theory
38 %%%%%%%%%%%%%%%%%%%%%%%%
39
40 %Porter-Duff compositing.
41 % Keith Packard has a really nice PDF version of this.
42 @inproceedings{porter1984compositing,
43   title={Compositing digital images},
44   author={Porter, Thomas and Duff, Tom},
45   booktitle={ACM SIGGRAPH Computer Graphics},
46   volume={18},
47   number={3},
48   pages={253--259},
49   year={1984},
50   organization={ACM}
51 }
52
53 %Bresenham's Line Drawing Algorithm
54 % See Michael Abrash's Graphics Programming Black Book for a
55 % much better guide to implementing this (at least on the 486)
56 @article{bresenham1965algorithm,
57   title={Algorithm for computer control of a digital plotter},
58   author={Bresenham, Jack E},
59   journal={IBM Systems journal},
60   volume={4},
61   number={1},
62   pages={25--30},
63   year={1965},
64   publisher={IBM Corp.}
65 }
66
67 % Basically my favourite thing on triangle rasterization.
68 % There are older ones, but this one makes sense.
69 @misc{giesen2013triangle,
70   title={Triangle rasterization in practice},
71   author={Giesen, Fabien},
72   year={2013},
73   journal={The ryg blog},
74   type={Blog},
75   number={February 8},
76   howpublished={\url{http://fgiesen.wordpress.com/2013/02/08/triangle-rasterization-in-practice/}}
77 }
78
79 % A paper on polygon rasterization. Probably should find a nice textbook on
80 % this.
81 @article{pineda1988parallel,
82   title={A parallel algorthim for polygon rasterization},
83   author={Pineda, Juan},
84   journal={ACM Computer Graphics},
85   year={1988},
86   volume={22},
87   number={4},
88   pages={17--20},
89   publisher={ACM}
90 }
91
92 % Bézier curves and friends.
93 @phdthesis{catmull1974asubdivision,
94  author = {Catmull, Edwin Earl},
95  title = {A Subdivision Algorithm for Computer Display of Curved Surfaces.},
96  year = {1974},
97  note = {AAI7504786},
98  publisher = {The University of Utah},
99
100
101
102 %%%%%%%%%%%%%%%%%%%%%%%
103 % Floating-pt Precision
104 %%%%%%%%%%%%%%%%%%%%%%%
105 Goldberg:1991:CSK:103162.103163,
106 @article{goldberg1991whatevery,
107  author = {Goldberg, David},
108  title = {What Every Computer Scientist Should Know About Floating-point Arithmetic},
109  journal = {ACM Comput. Surv.},
110  issue_date = {March 1991},
111  volume = {23},
112  number = {1},
113  month = mar,
114  year = {1991},
115  issn = {0360-0300},
116  pages = {5--48},
117  numpages = {44},
118  url = {http://doi.acm.org/10.1145/103162.103163},
119  doi = {10.1145/103162.103163},
120  acmid = {103163},
121  publisher = {ACM},
122  address = {New York, NY, USA},
123  keywords = {NaN, denormalized number, exception, floating-point, floating-point standard, gradual underflow, guard digit, overflow, relative error, rounding error, rounding mode, ulp, underflow},
124
125
126 @misc{arb_gpu_shader_fp64,
127   title={{ARB\_gpu\_shader\_fp64}},
128   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},
129   year={2010},
130   journal={OpenGL Extension},
131   publisher={Kronos Group},
132   howpublished={\url{http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt}}
133 }
134
135 @misc{nv_half_float,
136   title={{NV\_half\_float}},
137   author={Brown, Pat},
138   year={2002},
139   journal={OpenGL Extension},
140   publisher={NVIDIA Corporation},
141   howpublished={\url{http://www.opengl.org/registry/specs/NV/half_float.txt}}
142 }
143
144 @inproceedings{emmart2010high,
145   title={High precision integer multiplication with a graphics processing unit},
146   author={Emmart, Niall and Weems, Charles},
147   booktitle={2010 IEEE International Symposium on Parallel \& Distributed Processing, Workshops and Phd Forum (IPDPSW)},
148   pages={1--6},
149   year={2010},
150   organization={IEEE}
151 }
152
153 @article{ieee754std1985,
154   journal={{ANSI}/{IEEE} Std 754-1985},
155   title={{IEEE} Standard for Binary Floating-Point Arithmetic},
156   year={1985}, 
157 }
158
159 @article{ieee754std2008,
160   journal={{IEEE} Std 754-2008},
161   title={{IEEE} Standard for Floating-Point Arithmetic},
162   year={2008},
163   month={Aug},
164   pages={1-70},
165 }
166
167
168
169 %%%%%%%%%%%%%%%%%%%%%%%%
170 % GPU-y Stuff
171 %%%%%%%%%%%%%%%%%%%%%%%%
172
173 % OpenGL 4.4 (core profile) spec.
174 % The latest OpenGL spec.
175 % See: http://www.opengl.org/registry/doc/glspec44.core.pdf
176 @book{openglspec,
177   title={The {OpenGL}\textregistered Graphics System: A Specification},
178   author={Segal, Mark and Akely, Kurt and Leech, Jon},
179   year={2014},
180   publisher={The Kronos Group, Inc},
181   url={http://www.opengl.org/registry/doc/glspec44.core.pdf}
182 }
183
184 % The valve paper on using signed distance fields, scaling them and then alpha testing
185 % them to have a smooth, defined boundary for "vector"-like effects.
186 % Also talks of using several channels in the image and running boolean operations on them
187 % to create sharp corners, etc.
188 @inproceedings{green2007improved,
189   title={Improved alpha-tested magnification for vector textures and special effects},
190   author={Green, Chris},
191   booktitle={{ACM} {SIGGRAPH} 2007 courses},
192   pages={9--18},
193   year={2007},
194   organization={ACM}
195 }
196
197 % A fast approximation to the signed distance field calculation for pixel grids
198 @article{leymarie1992fast,
199   title={Fast raster scan distance propagation on the discrete rectangular lattice},
200   author={Leymarie, F and Levine, Martin D},
201   journal={CVGIP: Image Understanding},
202   volume={55},
203   number={1},
204   pages={84--94},
205   year={1992},
206   publisher={Elsevier}
207 }
208
209 % Good overview of SDFs and the use of quad/octrees to better encode fine detail.
210 @inproceedings{frisken2000adaptively,
211   title={Adaptively sampled distance fields: a general representation of shape for computer graphics},
212   author={Frisken, Sarah F and Perry, Ronald N and Rockwood, Alyn P and Jones, Thouis R},
213   booktitle={Proceedings of the 27th annual conference on Computer graphics and interactive techniques},
214   pages={249--254},
215   year={2000},
216   organization={ACM Press/Addison-Wesley Publishing Co.}
217 }
218
219
220 % Split texture into a grid/quadtree, have each element represented by a set of cubic equations, combined CSG style.
221 % Need to read this further to understand some of the nuance, though I expect GLyphy does this better?
222 @techreport{ray2005vector,
223   title={Vector texture maps on the {GPU}},
224   author={Ray, Nicolas and Cavin, Xavier and L{\'e}vy, Bruno},
225   year={2005},
226   institution={Technical Report ALICE-TR-05-003}
227 }
228
229 % GLyphy: https://github.com/behdad/slippy/tree/master/glyphy
230 % Can I get these slides into a readable format, and is it formal enough?
231 % The caricatures of the Intel OpenGL driver team are good, if nothing else.
232
233 % Cairo rendering library. Basically implements the rendering bits of postscript in C,
234 % the basis for many Linux vector graphics programs.
235 @inproceedings{worth2003xr,
236   title={Xr: Cross-device rendering for vector graphics},
237   author={Worth, Carl and Packard, Keith},
238   booktitle={Linux Symposium},
239   pages={480},
240   year={2003}
241 }
242
243
244 % Glitz cairo opengl backend.
245 @inproceedings{nilsson2004glitz,
246   title={Glitz: Hardware Accelerated Image Compositing Using {O}pen{GL}.},
247   author={Nilsson, Peter and Reveman, David},
248   booktitle={USENIX Annual Technical Conference, FREENIX Track},
249   pages={29--40},
250   year={2004}
251 }
252
253 % Basically an earlier but more detailed version of the below.
254 @article{loop2005resolution,
255   title={Resolution independent curve rendering using programmable graphics hardware},
256   author={Loop, Charles and Blinn, Jim},
257   journal={ACM Transactions on Graphics (TOG)},
258   volume={24},
259   number={3},
260   pages={1000--1009},
261   year={2005},
262   publisher={ACM}
263 }
264
265
266 % GPU Gems 3 article about using textures for the edges of smooth curves.
267 % http://http.developer.nvidia.com/GPUGems3/gpugems3_ch25.html
268 @article{loop2007rendering,
269   title={Rendering vector art on the GPU},
270   author={Loop, Charles and Blinn, Jim},
271   journal={{GPU} gems},
272   volume={3},
273   pages={543--562},
274   year={2007}
275 }
276
277
278 % The article introducing the NV_path_rendering opengl extension
279 % (nVidia-specific) which uses a "stencil-then-cover" technique to render
280 % real vector graphics (not an approximation) on the GPU.
281 % See Zach Rusin's blog post comparing it to Qt's SVG renderer.
282 % http://zrusin.blogspot.com.au/2011/09/nv-path-rendering.html 
283 @article{kilgard2012gpu,
284   title={{GPU}-accelerated path rendering},
285   author={Kilgard, Mark J and Bolz, Jeff},
286   journal={{ACM} Transactions on Graphics (TOG)},
287   volume={31},
288   number={6},
289   pages={172},
290   year={2012},
291   publisher={ACM}
292 }
293 % An extension to the above, detailing the use of the extension, rather than the way it is implemented.
294 @article{kilgard300programming,
295   title={Programming with {NV} path rendering: An Annex to the {SIGGRAPH} paper {GPU}-accelerated Path Rendering},
296   author={Kilgard, Mark J},
297   journal={heart},
298   volume={300},
299   pages={300}
300 }
301
302 % GL_NV_blend_equation_advanced OpenGL extension
303 % https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt
304 % TODO: How to reference this??
305 % Bascially supports all PDF, SVG blend modes and then some.
306 % Pretty much only nVidia support this, but the specification
307 % includes the equations for everything, which is nice.
308
309 % OpenVG is an opengl-ish API for vector graphics.
310 % More based around SVG than postscript, but not bad.
311 @article{rice2008openvg,
312   title={{OpenVG} Specification, version 1.1},
313   author={Rice, Daniel and Simpson, RJ},
314   journal={Khronos Group},
315   year={2008}
316 }
317
318
319 % Implementing OpenVG using OpenGL ES 1. Pretty high-level overview.
320 % Basically boiled down to "we tesselated to get curves, and then used textures for fill"
321 @inproceedings{oh2007implementation,
322   title={Implementation of {OpenVG} 1.0 using {OpenGL} {ES}},
323   author={Oh, Aekyung and Sung, Hyunchan and Lee, Hwanyong and Kim, Kujin and Baek, Nakhoon},
324   booktitle={Proceedings of the 9th international conference on Human computer interaction with mobile devices and services},
325   pages={326--328},
326   year={2007},
327   organization={ACM}
328 }
329
330 % Implementing the OpenVG paint modes using GLES2 shaders.
331 % This is all pretty simple stuff.
332 @inproceedings{robart2009openvg,
333   title={{OpenVG} paint subsystem over {OpenGL} {ES} shaders},
334   author={Robart, Mathieu},
335   booktitle={Consumer Electronics, 2009. ICCE'09. Digest of Technical Papers International Conference on},
336   pages={1--2},
337   year={2009},
338   organization={IEEE}
339 }
340
341 %%%%%%%%%%%%%%%%%
342 % Quadtrees
343 %%%%%%%%%%%%%%%%%
344 @article{finkel1974quad,
345   title={Quad trees a data structure for retrieval on composite keys},
346   author={Finkel, Raphael A. and Bentley, Jon Louis},
347   journal={Acta informatica},
348   volume={4},
349   number={1},
350   pages={1--9},
351   year={1974},
352   publisher={Springer}
353 }
354
355 %BSP trees
356 @inproceedings{fuchs1980onvisible,
357  author = {Fuchs, Henry and Kedem, Zvi M. and Naylor, Bruce F.},
358  title = {On Visible Surface Generation by a Priori Tree Structures},
359  booktitle = {Proceedings of the 7th Annual Conference on Computer Graphics and Interactive Techniques},
360  series = {SIGGRAPH '80},
361  year = {1980},
362  isbn = {0-89791-021-4},
363  location = {Seattle, Washington, USA},
364  pages = {124--133},
365  numpages = {10},
366  url = {http://doi.acm.org/10.1145/800250.807481},
367  doi = {10.1145/800250.807481},
368  acmid = {807481},
369  publisher = {ACM},
370  address = {New York, NY, USA},
371
372
373 % KD-tree paper
374 @article{bentley1975multidimensional,
375  author = {Bentley, Jon Louis},
376  title = {Multidimensional Binary Search Trees Used for Associative Searching},
377  journal = {Commun. ACM},
378  issue_date = {Sept. 1975},
379  volume = {18},
380  number = {9},
381  month = sep,
382  year = {1975},
383  issn = {0001-0782},
384  pages = {509--517},
385  numpages = {9},
386  url = {http://doi.acm.org/10.1145/361002.361007},
387  doi = {10.1145/361002.361007},
388  acmid = {361007},
389  publisher = {ACM},
390  address = {New York, NY, USA},
391  keywords = {associative retrieval, attribute, binary search trees, binary tree insertion, information retrieval system, intersection queries, key, nearest neighbor queries, partial match queries},
392
393
394
395 % Basic overview of PDF and how it is awesome.
396 % This doesn't seem like a major revelation for 2002
397 @article{cheng2002portable,
398         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.},
399         Author = {Wan-Lee Cheng, Michael A.},
400         ISSN = {10716084},
401         Journal = {Journal of Technology Studies},
402         Keywords = {PDF (Computer file format), FILE organization (Computer science), ELECTRONIC data processing},
403         Number = {1},
404         Pages = {59 - 63},
405         Title = {Portable Document Format ({PDF}) -- Finally, a Universal Document Exchange Technology.},
406         Volume = {28},
407         URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=11512377&site=ehost-live},
408         Year = {2002},
409 }
410
411 % Overview of different formats
412 % Talks about JavaScript being the future
413 % Best title so far
414 @article{hayes2012pixels,
415         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.},
416         Author = {Hayes, Brian},
417         ISSN = {00030996},
418         Journal = {American Scientist},
419         Keywords = {ELECTRONIC publishing, SCIENCE publishing, GRAPHIC methods -- Software, POSTSCRIPT (Computer program language), JAVASCRIPT (Computer program language), CHARTS, diagrams, etc., DESIGN & construction},
420         Number = {2},
421         Pages = {106 - 111},
422         Title = {Pixels or Perish.},
423         Volume = {100},
424         URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=71853141&site=ehost-live},
425         Year = {2012},
426 }
427
428 % Embedding 3D models / graphs in PDFs
429 % Actually works (in Adobe Reader)
430 @article{barnes2013embedding,
431         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},
432         Author = {Barnes, David G. and Vidiassov, Michail and Ruthensteiner, Bernhard and Fluke, Christopher J. and Quayle, Michelle R. and McHenry, Colin R.},
433         ISSN = {19326203},
434         Journal = {PLoS ONE},
435         Keywords = {PDF (Computer file format), EMBEDDINGS (Mathematics), COMPUTER software, THREE-dimensional imaging, LATEX (Computer software), COMPUTER graphics, Research Article},
436         Number = {9},
437         Pages = {1 - 15},
438         Title = {Embedding and Publishing Interactive, 3-Dimensional, Scientific Figures in Portable Document Format (PDF) Files.},
439         Volume = {8},
440         URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=90530375&site=ehost-live},
441         Year = {2013},
442 }
443
444 %Goldberg:1992:DFD:151333.151373
445 % Looks useful... although it does have FORTRAN in it
446 @article{goldberg1992thedesign,
447  author = {Goldberg, David},
448  title = {The Design of Floating-point Data Types},
449  journal = {ACM Lett. Program. Lang. Syst.},
450  issue_date = {June 1992},
451  volume = {1},
452  number = {2},
453  month = jun,
454  year = {1992},
455  issn = {1057-4514},
456  pages = {138--151},
457  numpages = {14},
458  url = {http://doi.acm.org/10.1145/151333.151373},
459  doi = {10.1145/151333.151373},
460  acmid = {151373},
461  publisher = {ACM},
462  address = {New York, NY, USA},
463  keywords = {Ada, FORTRAN 90, Modula-3, backward error analysis, error analysis, exceptions, floating point, floating-point standard, guard digit, precision, rounding, ulp},
464
465
466 % It seems wierd using our last names...
467 @misc{proposalGow,
468         title = "Infinite-precision Document Formats (Project Proposal)",
469         author = "David Gow",
470         year = "2014",
471         howpublished = "\url{http://davidgow.net/stuff/ProjectProposal.pdf}"
472 }
473
474 % Note the different title
475 @misc{proposalMoore,
476         title = "Infinite Precision Document Formats (Project Proposal)",
477         author = "Sam Moore",
478         year = "2014",
479         howpublished = "\url{http://szmoore.net/ipdf/documents/ProjectProposalSam.pdf}"
480 }
481
482 % The Fractal Nature of Bezier Curves
483 % No date?
484 @article{goldman_thefractal,
485         title = "The Fractal Nature of Bezier Curves",
486         author = "Ron Goldman",
487         publisher = "Department of Computer Science, Rice University",
488         address = "6100 Main Street, Houstan, Texas",
489         note = "The de Casteljau subdivision algorithm is used to show that Bezier curves are also attractors (ie: fractals).
490                 A new rendering algorithm is derived for Bezier curves."
491 }
492
493 % Talks about security of PDF, probably not useful,
494 @article{sami2009alook,
495         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]},
496         Author = {Rautiainen, Sami},
497         ISSN = {13634127},
498         Journal = {Information Security Technical Report},
499         Keywords = {PDF (Computer file format), FILE organization (Computer science), SYSTEMS software, COMPUTER files},
500         Number = {1},
501         Pages = {30 - 33},
502         Title = {A look at Portable Document Format vulnerabilities.},
503         Volume = {14},
504         URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=40637035&site=ehost-live},
505         Year = {2009},
506 }
507
508 % Interesting but not related to the project
509 @article{bergen2012automatic,
510         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]},
511         Author = {Bergen, Steven and Ross, Brian},
512         ISSN = {01782789},
513         Journal = {Visual Computer},
514         Keywords = {GRAPHIC arts, GENETIC algorithms, GRAPHIC design, GRAPHIC designers, VISUAL communication, RESEARCH, Evolutionary art, Genetic algorithm, Vector graphics},
515         Number = {1},
516         Pages = {35 - 45},
517         Title = {Automatic and interactive evolution of vector graphics images with genetic algorithms.},
518         Volume = {28},
519         URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=70129435&site=ehost-live},
520         Year = {2012},
521 }
522
523 % Similar to goldman1992, also old, need to find newer references
524 @INPROCEEDINGS{priest1991algorithms,
525 author={Priest, D.M.},
526 booktitle={Computer Arithmetic, 1991. Proceedings., 10th IEEE Symposium on},
527 title={Algorithms for arbitrary precision floating point arithmetic},
528 year={1991},
529 month={Jun},
530 pages={132-143},
531 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},
532 doi={10.1109/ARITH.1991.145549},}
533
534 @article{goldbern1967twentyseven,
535  author = {Goldberg, I. Bennett},
536  title = {27 Bits Are Not Enough for 8-digit Accuracy},
537  journal = {Commun. ACM},
538  issue_date = {Feb. 1967},
539  volume = {10},
540  number = {2},
541  month = feb,
542  year = {1967},
543  issn = {0001-0782},
544  pages = {105--106},
545  numpages = {2},
546  url = {http://doi.acm.org/10.1145/363067.363112},
547  doi = {10.1145/363067.363112},
548  acmid = {363112},
549  publisher = {ACM},
550  address = {New York, NY, USA},
551
552
553
554
555 % Boost multiprecision library
556 @misc{boost_multiprecision,
557         author = {John Maddock and Christopher Kormanyos},
558         title = {Boost Multiprecision Library},
559         howpublished = {\url{http://www.boost.org/doc/libs/1_53_0/libs/multiprecision/doc/html/boost_multiprecision/}}
560 }
561
562 @misc{java_bigint,
563         author = {Oracle Corporation},
564         title = {java.math.{BigInteger}},
565         booktitle = {Java Platform 6 {SE}},
566         urldate = {19-05-2014},
567         howpublished = {\url{http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html}}
568 }
569
570 @misc{java_bigdecimal,
571         author = {Oracle Corporation},
572         title = {java.math.{BigDecimal}},
573         booktitle = {Java Platform 7 {SE}},
574         howpublished = {\url{http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html}},
575         urldate = {19-05-2014}
576 }
577
578 % A CMOS Floating Point Unit
579 @MISC{kelley1997acmos,
580     author = {Michael J. Kelley and Matthew A. Postiff and Advisor Richard and B. Brown},
581     title = {A CMOS Floating Point Unit},
582     year = {1997}
583 }
584
585 @misc{filiatreault2003simply,
586         author = {Raymond Filiatreault},
587         title = "Simply FPU",
588         year = 2003,
589         howpublished = {\url{http://www.website.masmforum.com/tutorials/fptute/index.html}}
590 }
591
592 @article{bishop2008floating,
593         author = {David Bishop},
594         year = 2008,
595         howpublished = {\url{http://www.vhdl.org/fphdl/Float_ug.pdf}},
596         title = {Floating Point Package User's Guide},
597         note = {Technical Report},
598         journal = {EDA Industry Working Groups}
599 }
600
601 @article{dieter2007lowcost,
602  author = {Dieter, William R. and Kaveti, Akil and Dietz, Henry G.},
603  title = {Low-Cost Microarchitectural Support for Improved Floating-Point Accuracy},
604  journal = {IEEE Comput. Archit. Lett.},
605  issue_date = {January 2007},
606  volume = {6},
607  number = {1},
608  month = jan,
609  year = {2007},
610  issn = {1556-6056},
611  pages = {13--16},
612  numpages = {4},
613  url = {http://dx.doi.org/10.1109/L-CA.2007.1},
614  doi = {10.1109/L-CA.2007.1},
615  acmid = {1271937},
616  publisher = {IEEE Computer Society},
617  address = {Washington, DC, USA},
618  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},
619
620
621 @misc{jop,
622         author = "jop-devel",
623         title = "Java Optimized Processor",
624         howpublished = "\url{https://github.com/jop-devel/jop}"
625 }
626         
627 @inproceedings{kadric2013accurate,
628   title={Accurate Parallel Floating-Point Accumulation},
629   author={Kadric, Edin and Gurniak, Paul and DeHon, Andr{\'e}},
630   booktitle={Computer Arithmetic (ARITH), 2013 21st IEEE Symposium on},
631   pages={153--162},
632   year={2013},
633   organization={IEEE}
634 }
635
636 %ghdl, the least shitty of the open source vhdl tools
637 @misc{ghdl,
638         title = "GHDL Guide",
639         author = "Tristan Gingold",
640         year = "2007",
641         howpublished = "\url{http://ghdl.free.fr/ghdl/}"
642 }
643
644 % Look into as an alternative to using text files for FPU simulation?
645 @misc{tang2000using,
646         title = "Using Binary Files in VHDL Test Benches",
647         author = "Stephen Tang",
648         year = "2000",
649         howpublished = "\url{http://www.ece.ualberta.ca/~elliott/ee552/studentAppNotes/2000_w/vhdl/BinaryFileTestbenching/binary.html}",
650         note = "Application Notes (webpage)"
651 }
652
653 % On the design of IEEE floating point adders
654 % Has algorithms!
655 @INPROCEEDINGS{seidel2001onthe,
656 author={Seidel, P.-M. and Even, G.},
657 booktitle={Computer Arithmetic, 2001. Proceedings. 15th IEEE Symposium on},
658 title={On the design of fast IEEE floating-point adders},
659 year={2001},
660 month={},
661 pages={184-194},
662 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},
663 doi={10.1109/ARITH.2001.930118},
664 ISSN={1063-6889},}
665
666
667 @article{demmel1996basic,
668         title = "Basic Issues in Floating Point Arithmetic and Error Analysis",
669         author = "Jim Demmel",
670         journal = "U.C. Berkeley CS267",
671         note = "Lecture Notes",
672         howpublished = "\url{http://www.cs.berkeley.edu/~demmel/cs267/lecture21/lecture21.html}",
673         year = 1996
674 }
675
676 @misc{grfpu_dasia,
677         title = "GRFPU - High Performance IEEE- 7 5 4 Floating- Point Unit",
678         author = "Edvin Catovic",
679         howpublished = "\url{http://www.gaisler.com/doc/grfpu_dasia.pdf}"
680 }
681
682 % The best quote ever.
683 @misc{beebe2011round32,
684         title = "Re: round32 ( round64 ( X ) ) ?= round32 ( X )",
685         note = "IEEE 754 Working Group Mail Archives",
686         author = "Nelson H. F. Beebe",
687         howpublished = "\url{http://grouper.ieee.org/groups/754/email/msg04169.html}"
688 }
689
690 % Biography of Charles Babbage because WHY NOT?
691  % I suspect this year is wrong?75
692 @ARTICLE{dodge_babbage,
693 author={Dodge, N. S.},
694 journal={Annals of the History of Computing, IEEE},
695 title={Charles Babbage},
696 year={2000},
697 month={Oct},
698 volume={22},
699 number={4},
700 pages={22-43},
701 keywords={Accuracy;Art;Autobiographies;Biographies;Blood;Calculus;Educational institutions;History;Writing},
702 doi={10.1109/MAHC.2000.887988},
703 ISSN={1058-6180},}
704
705 @article{nature1871babbage,
706         author = "Unknown Author",
707         journal = "Nature",
708         title = "Charles Babbage",
709         year = 1871,
710         volume = 5,
711         number = 106, 
712         pages = "28-29"
713 }
714
715 %IEEE 754 Really should have put this in earlier
716 @ARTICLE{ieee2008-754,
717 journal={IEEE Std 754-2008},
718 title={IEEE Standard for Floating-Point Arithmetic},
719 year={2008},
720 month={Aug},
721 pages={1-70},
722 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},
723 doi={10.1109/IEEESTD.2008.4610935},}
724
725
726 @article{dekker1971afloating,
727 year={1971},
728 issn={0029-599X},
729 journal={Numerische Mathematik},
730 volume={18},
731 number={3},
732 doi={10.1007/BF01397083},
733 title={A floating-point technique for extending the available precision},
734 url={http://dx.doi.org/10.1007/BF01397083},
735 publisher={Springer-Verlag},
736 author={Dekker, T.J.},
737 pages={224-242},
738 language={English}
739 }
740
741 @String{pub-BIRKHAUSER-BOSTON   = "Birkh{\"a}user Boston Inc."}
742 @String{pub-BIRKHAUSER-BOSTON:adr = "Cambridge, MA, USA"}
743
744 @Book{HFP,
745   author =       "Jean-Michel Muller and Nicolas Brisebarre and Florent
746                  de Dinechin and Claude-Pierre Jeannerod and Vincent
747                  Lef{\`e}vre and Guillaume Melquiond and Nathalie Revol
748                  and Damien Stehl{\'e} and Serge Torres",
749   title =        "Handbook of Floating-Point Arithmetic",
750   publisher =    pub-BIRKHAUSER-BOSTON,
751   address =      pub-BIRKHAUSER-BOSTON:adr,
752   pages =        "xxiii + 572",
753   year =         "2010",
754   DOI =          "http://dx.doi.org/10.1007/978-0-8176-4704-9",
755   ISBN =         "0-8176-4704-X",
756   ISBN-13 =      "978-0-8176-4704-9",
757   LCCN =         "QA76.9.C62 H36 2010",
758   bibdate =      "Thu Jan 27 16:18:58 2011",
759   price =        "US\$90 (est.)",
760   acknowledgement = ack-nhfb,
761 }
762
763 @article{svg2011-1.1,
764         year = 2011,
765         month = "August",
766         journal = "WC3 Recommendation",
767         title = "Scalable Vector Graphics (SVG) 1.1 (Second Edition)",
768         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",
769         howpublished = "\url{http://www.w3.org/TR/SVG/}"
770 }
771
772 @article{kapoulkine2014pugixml,
773         year = "2014",
774         author = "Arseny Kapoulkine",
775         title = "pugixml --- Light-weight, simple and fast XML parser for C++ with XPath support",
776         howpublished="http://pugixml.org",
777 }
778         
779
780 @article{pugixmlDOM,
781         year = "2014",
782         author = "Arseny Kapoulkine",
783         title = "Document Object Model",
784         journal = "pugixml 1.4 manual",
785         howpublished = "http://pugixml.googlecode.com/svn/tags/latest/docs/manual/dom.html"
786 }
787
788 % Rendering vector graphics on vector display devices (historical)
789 %Brassel:1979:ASR:965103.807434,
790 @article{brassel1979analgorithm,
791  author = {Brassel, Kurt E. and Fegeas, Robin},
792  title = {An Algorithm for Shading of Regions on Vector Display Devices},
793  journal = {SIGGRAPH Comput. Graph.},
794  issue_date = {August 1979},
795  volume = {13},
796  number = {2},
797  month = aug,
798  year = {1979},
799  issn = {0097-8930},
800  pages = {126--133},
801  numpages = {8},
802  url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/965103.807434},
803  doi = {10.1145/965103.807434},
804  acmid = {807434},
805  publisher = {ACM},
806  address = {New York, NY, USA},
807  keywords = {Cartography, Computer graphics, Line-drawing processing, Polygons, Shading, Software, Spatial information},
808
809 %Lane:1983:AFR:357323.357326,
810 @article{lane1983analgorithm,
811  author = {Lane, J. M. and M. Rarick, R. and},
812  title = {An Algorithm for Filling Regions on Graphics Display Devices},
813  journal = {ACM Trans. Graph.},
814  issue_date = {July 1983},
815  volume = {2},
816  number = {3},
817  month = jul,
818  year = {1983},
819  issn = {0730-0301},
820  pages = {192--196},
821  numpages = {5},
822  url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/357323.357326},
823  doi = {10.1145/357323.357326},
824  acmid = {357326},
825  publisher = {ACM},
826  address = {New York, NY, USA},
827 }
828
829 @article{hillesland2004paranoia,
830         author = "Karl E Hillesland and Anselmo Lastra",
831         title = "GPU Floating-Point Paranoia",
832         journal = "Proceedings of GP 2004",
833         year = 2004,
834         url = "\url{http://www.cs.unc.edu/~ibr/projects/paranoia/}"
835 }
836
837 %Fousse:2007:MMB:1236463.1236468,
838 @article{fousse2007mpfr,
839  author = {Fousse, Laurent and Hanrot, Guillaume and Lef\`{e}vre, Vincent and P{\'e}lissier, Patrick and Zimmermann, Paul},
840  title = {MPFR: A Multiple-precision Binary Floating-point Library with Correct Rounding},
841  journal = {ACM Trans. Math. Softw.},
842  issue_date = {June 2007},
843  volume = {33},
844  number = {2},
845  month = jun,
846  year = {2007},
847  issn = {0098-3500},
848  articleno = {13},
849  url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/1236463.1236468},
850  doi = {10.1145/1236463.1236468},
851  acmid = {1236468},
852  publisher = {ACM},
853  address = {New York, NY, USA},
854  keywords = {IEEE 754 standard, Multiple-precision arithmetic, correct rounding, elementary function, floating-point arithmetic, portable software},
855
856
857
858 @article{kahan1996ieee754,
859         author = "W Kahan",
860         title = "Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic",
861         url = "\url{http://http.cs.berkeley.edu/~wkahan/ieee754status/ieee754.ps}",
862         year = 1996,
863         month = May
864 }
865
866 @article{kahan2007wrong,
867         author = "W Kahan",
868         title = "Why is Floating-Point Computation so Hard to Debug when it Goes Wrong?",
869         howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/WrongR.pdf}",
870         year = 2007,
871         month = March
872 }
873
874 @misc{kahanweb,
875         author = "W Kahan",
876         title = "Prof W Kahan's Webpages",
877         howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/}"
878 }
879
880 @book{computergraphics2,
881         author = "Donald Hearn and M Pauline Baker",
882         title = "Computer Graphics",
883         edition = 2,
884         year = 1997,
885         publisher = "Prentice Hall, Inc",
886         address = "Upper Saddle River, New Jersey 07458, USA"
887 }
888
889 @ARTICLE{bresenham1996pixel,
890 author={Bresenham, J.},
891 journal={Computer Graphics and Applications, IEEE},
892 title={Pixel-processing fundamentals},
893 year={1996},
894 month={Jan},
895 volume={16},
896 number={1},
897 pages={74-82},
898 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},
899 doi={10.1109/38.481626},
900 ISSN={0272-1716},}
901
902 % It's a series of blog posts, don't judge me
903 % Also don't look at the rest of the blog, it's strange...
904 @misc{elias2000graphics,
905         title = "Graphics",
906         author = "Hugo Elias",
907         howpublished = {\url{http://freespace.virgin.net/hugo.elias/graphics/x\_main.htm}},
908         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?"
909 }
910
911 @article{wu1991anefficient,
912  author = {Wu, Xiaolin},
913  title = {An Efficient Antialiasing Technique},
914  journal = {SIGGRAPH Comput. Graph.},
915  issue_date = {July 1991},
916  volume = {25},
917  number = {4},
918  month = jul,
919  year = {1991},
920  issn = {0097-8930},
921  pages = {143--152},
922  numpages = {10},
923  url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/127719.122734},
924  doi = {10.1145/127719.122734},
925  acmid = {122734},
926  publisher = {ACM},
927  address = {New York, NY, USA},
928  keywords = {antialiasing, convolution, curve digitization, digital geometry},
929
930
931

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