#mageec Log for 2013-08-01

--- Log opened Thu Aug 01 00:00:37 2013
-!- munaafghumran [~mg0950@eduroam-wireless-pat4.nomadic.bris.ac.uk] has joined #mageec09:11
munaafghumranjeremybennett: could you introduce me to Nigel and Albert for the ML discussions please09:12
@jeremybennettmunaafghumran: Thanks for the reminder. I'm just on a call at the moment. If you haven't seen an email by 1:30, please ping me again!11:05
-!- jamespallister [~jamespall@eduroam-wireless-pat0.nomadic.bris.ac.uk] has joined #mageec11:40
-!- munaafghumran [~mg0950@eduroam-wireless-pat4.nomadic.bris.ac.uk] has quit [Ping timeout: 248 seconds]11:48
AWhetterjeremybennett: On the benchmarks, why did you decide to use rand() instead of jrand()?11:48
jamespallisterrand is part of the standard library11:54
jamespallisterjrand was a hack by me when i couldn't get the std library to work11:54
AWhetterIs rand reproducible though? I'm getting inconsistencies across arm and x86 which makes self-verifying difficult.11:57
@simoncookis it the same rand on all targets/seeded the same?12:00
AWhetterIt might be that newlib is doing rand differently on ARM, but it's seeded the same12:02
@simoncookIt would surprise me if glibc and newlib rand is exactly the same12:03
AWhetterCan I use jrand then?12:08
jamespallisterrand is not random12:11
jamespallisterpseudo random, with a seed12:11
jamespallisterI thought the C standard library specified the specific formula that rand had to be12:11
jamespallisteralthough I'm not sure on that12:14
jamespallisterjeremybennett, amylaar_, any ideas?12:14
@jeremybennettI suggest do a few quick tests.12:14
amylaar_man pages are often helpful.12:15
amylaar_For a definite answer with regards to the standard, you have to look at the standard, of course.12:16
amylaar_I remember that I've submitted some *rand* patches for newlib.  But didn't get nowhere.12:17
amylaar_Oh, there was a review, but then I didn't really know the answer to a question.12:19
amylaar_And ran out of time for the project.12:19
amylaar_http://sourceware.org/ml/newlib/2012/msg00537.html12:19
amylaar_And we still don't have enough time allocated for epiphany...12:20
amylaar_Maybe you can pick this up for MAGEEC?12:20
@simoncookjamespallister: AWhetter: reading http://en.cppreference.com/w/c/numeric/random/rand under notes mentioning about some implementations having serious shortcomings in randomness, I would say there is no set algorithm, one rand is different to another12:21
@simoncookalso, http://sourceware.org/git/?p=glibc.git;a=blob;f=stdlib/random_r.c;h=a393dd3c199b5b08a16f3044f2a3bc21f8e88410;hb=HEAD#l360 http://sourceware.org/git/?p=newlib.git;a=blob;f=newlib/libc/stdlib/rand_r.c;h=437739ef5a6a78a28a0d0089724fa6d5f2178ac9;hb=HEAD12:22
jamespallisterPerhaps having a standard implementation of it would be useful then12:45
jamespallisterfor the benchmark suite12:45
-!- munaafghumran [~mg0950@eduroam-wireless-pat4.nomadic.bris.ac.uk] has joined #mageec13:22
AWhetterI'll keep jrand for now then and add a better implementation to the TODO13:44
@jeremybennettAWhetter: I suggest if you want to use jrand, you should provide for it in platformcode.[ch] with a default implementation which calls rand.14:02
AWhetterI don't understand what you mean. I'd be using jrand so that I don't have to use rand.14:10
@jeremybennettSo - we want these to work out of the box.14:23
@jeremybennettIf you use jrand, then they will not compile out of the box, unless you provide a default implementation of jrand.14:24
@jeremybennettAre you proposing to provide that, and define it is the implementation that must be used?14:24
@jeremybennettOr are you going to allow the user to decide if they want to provide their own implementation?14:25
@jeremybennettIf the former, then the implementation of jrand belongs in platformcode.c (assuming you are using the code structure I have in GitHub).14:25
@jeremybennettOtherwise you should provide just a default implementation of jrand and allow the user to change it.14:26
@jeremybennettIn terms of code both are identical. It only affects what you put in the comments are README.14:26
@jeremybennettThere is a minor wrinkle, that not being a library, jrand will be linked in whether you use it or not, so programs that do not use jrand will be slightly bigger than before.14:27
AWhetteroh ok. I'd already pulled platform code in from the other repository on my branch, but I see you've done the same so I'll merge it all together14:27
@jeremybennettYou can get round the increased size issue by making jrand into a library that is linked against, but I wouldn't bother with that unless your implementation is very large.14:28
@jeremybennettAt some stage I'll put an autotools infrastructure in to make building more standardized and maintainable.14:28
-!- munaafghumran [~mg0950@eduroam-wireless-pat4.nomadic.bris.ac.uk] has quit [Ping timeout: 240 seconds]15:01
-!- jamespallister [~jamespall@eduroam-wireless-pat0.nomadic.bris.ac.uk] has quit [Ping timeout: 276 seconds]15:05
-!- jamespallister [~jamespall@eduroam-wireless-pat0.nomadic.bris.ac.uk] has joined #mageec15:26
-!- jeremybennett [~jeremy@cust64-dsl91-135-5.idnet.net] has quit [Ping timeout: 246 seconds]15:33
-!- jamespallister [~jamespall@eduroam-wireless-pat0.nomadic.bris.ac.uk] has quit [Ping timeout: 246 seconds]15:43
-!- jeremybennett [~jeremy@cust64-dsl91-135-5.idnet.net] has joined #mageec15:46
-!- mode/#mageec [+o jeremybennett] by ChanServ15:46
-!- jamespallister [~jamespall@94-192-83-3.zone6.bethere.co.uk] has joined #mageec21:56
-!- jamespallister [~jamespall@94-192-83-3.zone6.bethere.co.uk] has quit [Quit: Leaving]23:35
--- Log closed Fri Aug 02 00:00:44 2013

Generated by irclog2html.py 2.12.1 by Marius Gedminas - find it at mg.pov.lt!