From: C R Onjob Date: Thu, 19 Jun 2014 17:00:01 +0000 (+0800) Subject: Automatic commit of irc logs X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fdocuments.git;a=commitdiff_plain;h=4927bd408da6019633070ba078257a6df9587a8e Automatic commit of irc logs Are you sure the back door is locked? --- diff --git a/irc/#ipdf.log b/irc/#ipdf.log index 8b00f10..3729fc3 100644 --- a/irc/#ipdf.log +++ b/irc/#ipdf.log @@ -1992,3 +1992,55 @@ 23:43 <@sulix> The code is a little bit ugly, and for that I am sorry, but blame the fact that the GL feature that makes this nice is only about a year old and so nothing supports it. 23:43 <@sulix> So we're basically uploading all of the raw document data into a huge texture. 23:47 <@sulix> (If you ask me, the GPU ones also look slightly nicer, though that's probably a bug) +--- Day changed Thu Jun 19 2014 +13:55 <@matches> From those papers I was under the impression just rendering a bezier on a GPU was an impressive feat, so well done :P +13:57 <@sulix> (It's basically just a direct port of your CPU implementation, tbh) +13:59 <@matches> When I zoom out the GPU ones look nicer, there's probably something wrong with my Bresenham implementation +13:59 <@matches> Although it was mostly shamelessly copied from "Computer Graphics" +13:59 <@matches> Except they were like "Here it is for 0 < m < 1, the rest can be done by symmetry" +14:02 <@matches> The lines definitely have gaps on the CPU, and they also seem too thick as you zoom out +14:02 <@matches> Having said that, I don't think the GPU starts at x0,y0 +14:03 <@matches> Anyway I'm going to implement a Rational number type and see if anything exciting happens (that's how you do research right?) +14:06 <@matches> Fortunately I sort of did most of this for one of the codejam problems (where it turned out I didn't really need Rational numbers but I thought I did) +14:20 <@sulix> Fixed the missing bit off the end. +16:43 <@matches> I suspect Rationals are either not a very good idea, or there is a bug in one of my fundamental operations +16:43 <@matches> +, -, *, / are hard +16:56 <@sulix> Is it at least a pretty bug? +16:59 <@matches> Um... +16:59 <@matches> No +17:00 <@matches> It seems buggy for anything other than the {0,0,1,1} starting view +17:14 <@matches> I suspect it's the expf in the mouse wheel scrolling +17:14 <@matches> Since you know, exp is definitely not a rational number... +17:15 <@matches> Hmm, but it shouldn't matter because it will just convert to the nearest rational number +17:16 <@matches> ie: p = (int64_t)(whatever*1e10) q = (int64_t)1e10 +17:28 <@matches> Oh +17:28 <@matches> Oh +17:28 <@matches> Head -> Desk +17:28 <@matches> Rational & operator*=(const Rational & r) {this->operator=(*this*r); return *this;} +17:28 <@matches> Rational & operator/=(const Rational & r) {this->operator=(*this*r); return *this;} +17:29 <@matches> Rational & operator-=(const Rational & r) {this->operator=(*this+r); return *this;} +17:29 <@matches> I think the worst part is that I actually said "It is probably a bug in my +,-,*,/ +17:29 <@matches> And it still took me this long to notice +17:30 <@matches> The second worst thing is I've made that sort of mistake like 1000 times before +17:30 <@matches> The third worst thing is I am recalling that article where the guy says "At least plus and times are sort of the same thing" +17:30 <@sulix> Feel the power of copy and paste flowing through you. +17:32 <@matches> Well let's not celebrate just yet, the view still goes to shit. Just slightly slower :P +17:33 -!- matches changed the topic of #ipdf to: NaNpdf +17:33 <@matches> Our document supports a view of {-inf,-inf,nan,nan} thus making it truly infinite precision +17:34 <@sulix> I had that happen a lot when I was writing the original zoom code. +18:19 <@matches> So I suspect that Rationals are just a really shitty number representation :P +18:20 <@matches> Specifically, you get integer overflows really really fast +18:20 <@matches> And if you are going to have a Rational that's BigInt / BigInt you may as well just have a BigFloat +18:21 <@matches> The ancients were probably right. +18:21 <@matches> When they decided not to use rationals. +18:23 <@matches> I guess floats are rationals technically, I mean the representation using P/Q +18:23 <@matches> I kind of wish I'd done some pure maths here... +18:23 <@matches> Or paid more attention in second year +18:28 <@matches> At least I sort of have conclusive evidence that rationals suck. As opposed to "it should be obvious to anyone with half a brain" +19:00 <@sulix> Floats are not rationals. +19:00 <@sulix> Not exactly. +19:01 <@sulix> Something which can be stored in a finite amount of space as a rational cannot always be stored in a finite amount of space as a float, but not vice-versa. +19:01 <@sulix> e.g.: 1/3 +19:04 <@sulix> Basically floats = rationals where the denominator must be a power of two. +19:05 <@sulix> (Of course, these are all the same in the limit, but the limit of a cauchy sequence of rationals gives the reals, so the point is kinda moot, there, anyway) +19:18 <@matches> Yeah floats are a subset of the rationals I think I meant