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

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