00:07:23 <{^Raven^}> is the order of the system variables QGI01234etc significant?
00:10:25 -!- calamari has quit (Read error: 110 (Connection timed out)).
00:12:06 <{^Raven^}> maybe you could exclude the system variables from the sort
00:14:07 <calamari_> the problem is that there are two different indexes I'm dealing with when rearranging things, and I probably messed it up somewhere
00:14:51 <calamari_> the first array "order", gives the original index numbers in the order they are currently in
00:15:42 <calamari_> the other "index", gives which index place in "order" that a particular original index is at
00:16:28 <calamari_> I need to keep track of the original indexes so that I can test against the interaction list, which uses the original index numbers
00:17:27 <calamari_> there is also a "start" list that gives the start positions for each variable
00:28:38 -!- calamari_ has quit ("Leaving").
06:10:29 -!- calamari has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:48:18 -!- clog has joined.
08:48:18 -!- clog has joined.
11:24:36 -!- bNk6i6l3lBeZrT7 has joined.
11:41:11 -!- bNk6i6l3lBeZrT72 has joined.
11:41:11 -!- bNk6i6l3lBeZrT7 has quit (Read error: 54 (Connection reset by peer)).
11:50:02 -!- bNk6i6l3lBeZrT72 has left (?).
13:18:04 -!- Keymaker has joined.
13:18:21 <Keymaker> bNk6i6l3lBeZrT72: it is not bf golf!
13:18:31 <Keymaker> (yes, i never get tired repeating it..)
13:19:54 <Keymaker> but either the way, see you there :)
13:25:04 <Keymaker> f... this is day is annoying.. X{}
13:25:09 -!- Keymaker has quit.
17:59:30 -!- calamari has joined.
19:09:27 <calamari> raven: it turns out that the -O3 changes were causing the freezing problem, not the variable optimization
19:23:12 <calamari> raven: can you think of a way to extract digits from a number in forward order?
19:24:04 <calamari> print var is broken for numbers like 255, because it's actually 65535, or whatever the size that the cell is on these bigger interps
19:25:14 <{^Raven^}> is this the print decimal value of cell in BF?
19:25:46 <calamari> right now it extreacts the digits in reverse, hardcoded for a max of 3 digits
19:26:07 <calamari> that was fine because I expected the code to be run on an 8-bit cell interp
19:28:55 <calamari> 65535/10=6553/10=655/10=65/10=6/10=0 .. divided 5 times
19:29:48 <calamari> so I start with 1 and multiply back 4 times.. 10*10*10*10=10000
19:30:03 <calamari> now I can extract the leftmost digit
19:39:10 <{^Raven^}> you could do it with DIV and MOD but I can't work out the BF for it
19:40:25 <calamari> div and mod provide a backwards answer
19:40:54 <calamari> that's essentially how it is done now
19:42:18 <{^Raven^}> if num - divisor > 0 num -= divisor
19:43:10 <calamari> it could really be written in bfbasic code, couldn't it? :)
19:44:40 <{^Raven^}> diong ot backwards only needs a max of 10 cells for 32-bit
19:45:03 <{^Raven^}> but mem use is dependant on cell width :(
19:45:23 <calamari> Doing it in forward order prevents any assumptions
19:45:59 <fizzie> My "print out brainf*ck cell as decimal" is basically a "+1 to a variable-length BCD number" started with "0" and called the amount of times the cell specifies. It's.. "not very fast".
19:47:00 <fizzie> (~220 characters of code.)
19:49:22 <fizzie> Used that a ~year ago when writing some answers to our "introduction to imperative programming (in C)" course homework in BF.
19:50:12 <calamari> doesn't look like it liked M=0-1, M=M/10
19:52:26 <calamari> wow, that divide routine is complicated
19:57:06 <calamari> hmm.. is there an ansi sequence that will push a line to the right?
19:57:39 <calamari> then I could extract in reverse and display as I go
20:03:47 <{^Raven^}> if you could determine how many digits you needed to output you could use LOCATE to set the cursor to the right place
20:04:16 <calamari> raven: ceil(log(x)/log(10)).. but I'm not sure how to do that with bf :)
20:04:22 <{^Raven^}> but you would need to be careful if you printed a 2 digit number starting at the rightmost column
20:04:54 <calamari> you don't need locate.. can just print spaces then use backspace
20:06:53 <{^Raven^}> same difference really depends how moving left from col 0 is implemented
20:09:05 <calamari> the easy way out is to have the user tell us the cell size
20:09:08 <{^Raven^}> n = 12345 : digits = 0 : WHILE n : n /= 10 : digits++ : ENDWHILE
20:10:47 <calamari> yeah that works.. divide is still freezing up :(
20:10:57 <calamari> either that or its just really slow
20:12:04 <calamari> wonder if there's a fast hack for dividing by 10
20:13:23 <{^Raven^}> i only have the standard BF libarary code for DIV 10 here
20:13:47 <calamari> if they want to print big numbers then the user will need to wait or use a better interp :)
20:23:03 <calamari> cool, that works, just a little slow
20:23:29 <calamari> well, a lot slow actually.. need to try compiling the optimizing interp you sent me
20:25:16 <{^Raven^}> ahh, if i sent you the full bftools release just type make :)
20:54:43 <{^Raven^}> creative writing ability is inversely proportional to the amount of programming completed
22:07:53 -!- calamari has quit (Read error: 60 (Operation timed out)).
23:01:43 -!- {^Raven^} has quit ("Leaving").