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

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