00:00:03 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.24-a0-230-g536ed4e (34) 00:01:31 Stable (0.23) branch on CRAWL.XTAHUA.COM updated to: 0.23.1-49-g05433c6 01:16:51 -!- amalloy_ is now known as amalloy 03:14:01 -!- amalloy is now known as amalloy_ 03:30:42 Stable (0.23) branch on crawl.kelbi.org updated to: 0.23.1-49-g05433c6f1a 03:41:55 New branch created: pull/1025 (3 commits) 13https://github.com/crawl/crawl/pull/1025 03:41:55 03Joshua Gelbard02 07https://github.com/crawl/crawl/pull/1025 * 0.24-a0-231-gee54d1a: Purge mystery integers and add helper functions 10(7 days ago, 10 files, 42+ 21-) 13https://github.com/crawl/crawl/commit/ee54d1a22cb6 03:41:55 03Joshua Gelbard02 07https://github.com/crawl/crawl/pull/1025 * 0.24-a0-232-g9e80a7e: Let players disable autopickup from the drop menu 10(3 days ago, 6 files, 144+ 25-) 13https://github.com/crawl/crawl/commit/9e80a7e97c99 03:41:55 03Joshua Gelbard02 07https://github.com/crawl/crawl/pull/1025 * 0.24-a0-233-g75e3171: Add misc. evocables section to known items menu 10(4 hours ago, 2 files, 27+ 11-) 13https://github.com/crawl/crawl/commit/75e3171d88ab 04:13:51 Throwing unsuitable items sometimes takes less than 15 auts. 13https://crawl.develz.org/mantis/view.php?id=11942 by Yermak 09:22:08 well, I think I figured out why I didn't discover the windows fp issues until the very last moment: they're caused by some options implied by -O2 on gcc 09:22:29 probably does imply they'll be there on linux too :-/ 09:22:52 did you use any optimizations on your windows build? 09:23:05 I think I didn't use LTO because I had issues in the past 09:23:16 I think it's -O2 by default 09:23:23 debug builds are -O0 09:24:12 gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=323, so discussion https://stackoverflow.com/questions/7517588/different-floating-point-result-with-optimization-enabled-compiler-bug 09:24:32 once I knew the search terms it's very apparent that this is a potential issue 09:25:04 but I didn't even realize there was a debug/non-debug different in optimization until like 15 minutes ago 09:25:11 *difference 09:25:49 was driving me crazy trying to replicate the seeding differences in a windows debug build, they just weren't there 09:29:24 ugh if I'm right it may be best to do a very quick extra point release for linux before the next gotm starts 09:29:53 I guess we don't do 0.23.2.1 releases :D 09:31:34 I think uv said he's not starting it until this sunday so that it's a month between sundays each time 09:31:38 so you have some time 09:31:39 yeah 09:31:46 it turns out we have a "make profile" command which does a FULLDEBUG=y build but with -O2, who knew 11:23:28 Stable (0.23) branch on underhound.eu updated to: 0.23.1-49-g05433c6f1a 12:53:58 -!- amalloy_ is now known as amalloy 13:01:57 Stable (0.23) branch on crawl.akrasiac.org updated to: 0.23.1-49-g05433c6 13:06:56 Unstable branch on crawl.akrasiac.org updated to: 0.24-a0-230-g536ed4e (34) 16:04:12 New branch created: pull/1026 (1 commit) 13https://github.com/crawl/crawl/pull/1026 16:04:12 03argonaut02 07https://github.com/crawl/crawl/pull/1026 * 0.24-a0-231-g62a6de4: Update Gyre and Gimble 10(68 minutes ago, 3 files, 9+ 6-) 13https://github.com/crawl/crawl/commit/62a6de47763f 17:19:28 here's a nice summary of my current pain: https://yosefk.com/blog/consistency-how-to-defeat-the-purpose-of-ieee-floating-point.html 17:19:37 -!- aidanh_ is now known as aidanh 17:25:04 so, we have both a 32 bit and a 64 bit .deb, am I right to hope that modern systems will pick the 64 bit one for the most part? 17:28:13 also, what were the arguments for building 32 bit on windows? people are still using 32 bit windows? 18:07:22 maybe seeded play could be disabled for 32-bit builds 18:26:22 yes, except that windows is only 32 bit builds 18:26:50 but I think that forcing sse on official 32 bit windows builds is reasonable 18:28:05 I'm trying to figure out a way to add a warning to the seed selection window for that case 18:35:22 advil: when I last tried to switch to 64-bit windows builds only, some people with win32 tablet devices and whatnot complained 18:35:35 this was back in maybe 0.20? 18:35:54 before that I had both 32-bit and 64-bit windows builds, but we wanted to simplify things 18:36:34 re: debian packages, yes if your system is 64-bit, you will install the amd64 package unless you specifically request i386 18:37:39 for windows, we just proceeded to build 32-bit since that covered everyone 18:37:55 I imagine you'd get some of those same people complaining if you switch to 64-bit only 18:38:05 that was my experience as well in general. use 32 bit windows build unless you reaaly need 64 bit as 32 bit has much better compatibility with all the different windows. 18:38:43 right, I don't actually know what all 32-bit windows devices are actually prevelant 18:38:50 nor how prevelant they actually are 18:51:09 that blog post is slightly annoying. it gets the purpose of floating point numbers wrong but it also shows some really ugly bugs in compiler if they have that claimed behavior 18:51:26 hm, yeah I wonder what sort of hardware that is 18:53:48 how does it get the purpose of floasting point numbers wrong? 18:55:18 IEEE floating points sacrifice correctness for speed. 18:55:24 or precision for speed 18:56:26 if you want precise results, you use bigdecimal implementations (camp 1) 18:57:18 you have a compact and fixed size representations of floating point numbers with fast operations but for that you need to be careful how you use them. 19:00:04 the whole field of numerical analysis follows from that as you can extremely incorrect results if you don't take that into account. the infamous "10*0.1 != 1.0" is an example of that 19:13:30 I think this is the pain 2 from the list and that is inherent to the IEEE fp design. so it's actually not an inconsistency. but of course it's a pain if you suddenly notice that your code works differently than you assumed. 19:14:04 the other 2 inconsistencies are ugly though 19:19:04 I think pain #2 is about more complex expressions, `a+=b*c` may be different than `d=b*c, a=a+d` depending on how/whether intermediate values are used 19:19:39 my read is that he'd be ok with it if 10*0.1 were the same on all devices, regardless of equality with 1.0 (that's definitely the state I'm in at least) 19:20:18 #3 is currently the biggest problem I'm dealing with though 19:20:53 I think it's a fair criticism of the article that a lot of what's going on is about implementations, not the standard 19:21:06 but part of the problem seems to be that the standard is relatively non-specific about all sorts of stuff 19:22:46 it seems to me the author recognises the purpose-as-designed of floating point numbers, and is more objecting that what most people want from IEEE floats is not the same thing as what they were designed for, but there's nothing else nearly as well-established for doing the stuff you actually want to do 19:23:40 but as it stated for 3: "If you have SSE2, use it and live happily ever after." 19:23:56 what systems are still out there without SSE2? 19:24:49 very few I suspect...but an i386 build implies x87 19:25:12 but only on some optimization levels (for g++) 19:26:01 well, it's probably a complex set of options that depend on optimization levels 19:26:23 and I think you are right about your interpretation of pain #2 19:26:38 but seed stability issues were showing up in release builds for i386 (i.e. windows 32 bit builds) that I hadn't seen before because debug builds are -O0 and release builds are -O2 19:27:55 and they trace back to fp math 19:28:38 !source dgn_point_from 19:28:40 Can't find dgn_point_from. 19:28:49 !source dgn_random_point_from 19:28:50 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/dungeon.cc#L6045 19:29:24 I think it's that one that I specifically hit (in swamp layouts) though there's tons of fp math all over levelgen 19:37:26 fp portability issues is a new one for me. 19:39:12 me too 19:39:55 though now I'm sort of surprised when any fp calculation *does* work the same on multiple systems 19:40:01 granted, in C code I rarely used floats but even Java has that problem and in 1.2 they switched off crossplattform consistency for speed reasons. 19:41:18 really so far as long as everything is using sse, it has been extremely consistent 19:42:23 part of the problem is that we support a somewhat arbitrary subset of {gcc, clang} x {windows, mac, linux} x {32 bit, 64 bit} 19:44:17 -!- amalloy is now known as amalloy_ 19:54:42 -!- fmul is now known as enygmata 19:55:29 is floor_transition() in stairs.cc a good place to put messages that show up when you enter a branch? 19:57:37 enygmata: That's where I put one and at the time I couldn't find a way to arrive on a new floor without calling that function 19:58:54 if it's just a string, there's a field in `branches` (in branch-data.h) 19:59:23 but otherwise, yeah, looks like all the other such messages are in that function 20:04:30 New branch created: pull/1027 (1 commit) 13https://github.com/crawl/crawl/pull/1027 20:04:30 03Higor Eurípedes02 07https://github.com/crawl/crawl/pull/1027 * 0.24-a0-231-g0fbe1d9: Warn the player that teleportation doesn't work in gauntlet 10(25 minutes ago, 1 file, 20+ 0-) 13https://github.com/crawl/crawl/commit/0fbe1d91d3cf 20:13:39 03advil02 07* 0.24-a0-231-g9da92b9: Add a warning to the seed dialog for x87 10(40 minutes ago, 2 files, 13+ 0-) 13https://github.com/crawl/crawl/commit/9da92b9584df 20:13:39 03advil02 07* 0.24-a0-232-g49d9ff8: Force SSE2 (again) for win32 builds 10(13 minutes ago, 1 file, 11+ 4-) 13https://github.com/crawl/crawl/commit/49d9ff80d89e 20:16:54 ugh, stupid # at the beginning of a line 20:20:25 is it expected that some travis builds fail while running apt-get? 20:20:57 seems to be timing out or something 20:21:05 it happens regularly 20:29:55 I think your PR just caught travis at a bad moment 20:29:55 I restarted those builds 20:41:00 Unstable branch on crawl.kelbi.org updated to: 0.24-a0-232-g49d9ff80d8 (34) 21:12:39 -!- TigerbotHesh_ is now known as TigerbotHesh 21:47:22 The build has errored. (master - 49d9ff8 #11302 : advil): https://travis-ci.org/crawl/crawl/builds/514947984 23:03:26 -!- amalloy_ is now known as amalloy