00:08:52 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)). 00:09:04 -!- psygnisfive has joined. 00:14:44 -!- hakware has changed nick to ENKI-][. 00:16:25 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | Heh... I'm ganna win this one.. 03:35:05 -!- immibis has joined. 04:04:54 -!- oerjan has quit ("Good night"). 05:18:14 -!- ab5tract has joined. 05:50:22 -!- Deewiant has quit (Read error: 145 (Connection timed out)). 06:16:25 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | isn't thaat. 06:24:57 -!- Judofyr has quit. 06:37:04 immibis: You were asking about setting the Funge-98 storage offset to an arbitrary value? 0{02-u0}$$ -- it uses 'u' to push an arbitrary address for } to pop off; the final $$ gets rid of the pos+delta vector pushed by {. 06:50:06 -!- asiekierka has joined. 06:50:16 Hi, anybody here? 06:50:20 fungot: are you intelligent? 06:50:20 asiekierka: that part of the def-bf reference implementation, too 06:50:29 fungot: No, no definitions, are you intelligent? 06:50:29 asiekierka: that's not a good day for house, this is even trickier 06:50:34 oh 06:50:42 so, fungot, intelligence is tricky for you? 06:50:42 asiekierka: of course people should prefer fnord software. they should've used gmp 06:50:59 fungot, intelligence is fnord software? and gmp? 06:50:59 asiekierka: ( ( apply xs) ( length fnord)) 06:51:06 * asiekierka dies of stupidity 06:51:32 Let's clog cmeme! 06:52:37 hackles - les hack, hels ack!, hak lecs, 06:53:41 hal c(h)eks? 06:53:46 hal checks? 06:58:34 * asiekierka dies twice 06:58:44 * asiekierka dies infinity times until i say "wakeup time" 07:03:57 iiıiiii 07:04:57 * asiekierka wakeup times 07:04:58 Hi 07:11:05 [18:51] Let's clog cmeme! +>[->+>+<<]+>>[<<->>[-]]<<[>+<-]>[-<+>]<<<<-[>++<-[>++<-[>++<-[>++<[-]]]]]]]]]]<[->+<]>+>[-<+>]>>]<<<] 22:38:35 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 42949672 ... 22:38:45 I suck at the brainfuck; that's way longer than it really should. 22:39:13 http://blog.wired.com/music/2008/10/dr-pepper-to-ma.html Awesome! 22:56:10 fizzie: what algo? 22:57:22 Er, it just keeps the decimal digits on the tape; goes from the most significant end to the least significant printing them out; and then does a *2 operation on its way back. 22:57:26 i'd prolly store the number reversed on the array, and each cycle, multiply all cells by two, then do carries, then print with 48 added 22:57:38 how do you *2? 22:58:05 It's that mostly -[>++<-[>++<-[... -looking part. 22:58:43 it's pretty, but i'd probably have to manually execute it for a while to be able to understand it. 22:58:49 Except that the carry-setting part is a bit overcomplicated since it needs to make the number longer. 22:58:56 ah 22:59:02 that's why i'd've stored it reversed 22:59:54 -!- ais523|mibbit has joined. 22:59:55 hi ais523|mibbit 23:00:02 +ul (test)S 23:00:02 test 23:00:07 It is reversed, but I keep track of where the number ends by using a 1 to store a 0 and so on; so it needs to change a potential 0 there to 1 so that there's something to add the carry to. 23:00:21 context? 23:00:26 Since the tape wraps, it doesn't really matter if it's "reversed" or not, it's just a matter of tr/<>/> Context was 23:00:39 ^def pow2 bf ++[[<+++++++[-<+++++++>]>[-<+<+>>]<[->+<]<--.[-]<]++++[->++++++++<]>.[-]>>[-[>++<-[>++<-[>++<-[>++<-[>-------->+>[->+>+<<]+>>[<<->>[-]]<<[>+<-]>[-<+>]<<<<-[>++<-[>++<-[>++<-[>++<[-]]]]]]]]]]<[->+<]>+>[-<+>]>>]<<<] 23:00:39 Defined. 23:00:47 Whoops, that was the def part, not the ^bf part. 23:00:50 Well, 23:00:51 ^pow2 23:00:52 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 42949672 ... 23:01:26 not at all bad 23:01:33 does it do arbitrary precision arithmetic? 23:01:52 really, I need to come up with a better base-10-output routine for Underload 23:01:52 If you can call it "arithmetic", since it only does *2. 23:02:03 well, I mean, does it ever overflow? 23:02:12 also, what base does it store numbers in? Decimal? 23:02:15 No. Well, when the number reaches the tape length. 23:02:18 decimal 23:02:20 Decimal, for easy output. 23:02:33 brainfuck doesn't have a tape length 23:02:53 he knows that 23:03:15 well, yes 23:03:16 The fungot implementation has a... what was it? Some reasonable number, I didn't want a huge funge-space. 23:03:16 fizzie: in the final example given fnord), 23:03:23 I thought I'd make the point anyway, though 23:03:43 I know Thutubot cuts off at 65534 bytes of internal memory used 23:03:47 i know, thought i'd make the point anyway, though 23:03:51 :-D 23:03:53 because that's the largest number you can put in a {} block in a Perl regex 23:04:26 I think it's just a thousand cells in fungot. It probably runs out of time or output length for anything that seriously needs more. 23:04:26 fizzie: under the major heading " renewable energy support mechanisms 23:04:31 I cheat with implementing the regexen in Thutu, I just copy them verbatim into Perl and let it interpret them 23:05:11 ^show ul 23:05:12 >,[>,]<[<]>[<+4[>-8<-]+>-[-7[-2[<+3[>-4<-]+>[<+4[>-5<-]+>[-11[-3[[-]<2[>[-]>+<2-]>>[<2+>>-]+<[->-<3[[>+<-]<]>>[>]]>[->[>]<[[>+<-]<]<2[[>+<-]<]<[[>+<-]<]>>[>]>[[[>]>+<2[<]>-]<2[[>+<-]<]>>[>]>[>]>[<2[<]<[<]<+>>[>]>[>]>-]<2[<]>]>>[[<+>-]>]<2[<]]]<[->>[>]<[[>>+<2-]<]<2[[>+<-]<]>+>[>]+5[>+8<-]+2>-[<+[<]>+[>]<-]]>]<[->>[[<2+>>-]>]<3[[>+<-]<]]>]<[-<[[<]>.[-]>[[<+>-]>]>>[[<+>-]>]<2[<]<2]>>>[[<+>-]>]<2[<]<]>]<[->>[>]<[[>+<-]<]<2[>>>>[>] 23:05:20 still the BF version, then? 23:05:37 Yes. Although that would probably show the bf version even if I had a built-in command of the same name. 23:05:49 yes, I suppose so 23:05:57 +ul (s)S 23:05:58 s 23:06:07 hmm... I'm surprised at how tolerant Keymaker's Underload-in-BF is 23:06:11 given that it does no error checking 23:06:25 +ul ((x)S:^):^ 23:06:26 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...too much output! 23:06:29 ^ul ((x)S:^):^ 23:06:35 xxx ...out of time! 23:06:46 heh, quite a speed difference really 23:06:53 Is there any way of getting Underload to output characters that do not appear in the program? I guess not. (Well, except parentheses maybe.) 23:06:59 ^ul aS 23:06:59 () 23:07:01 no, there isn't 23:07:03 +ul aS 23:07:03 ...a out of stack! 23:07:13 hm? 23:07:15 Heh, there's a difference. 23:07:21 fizzie: no error checking 23:07:24 in the BF version 23:07:28 hi ais523 23:07:31 using a on an empty stack is undefined 23:07:33 hi AnMaster 23:07:33 what is up with using mibbit? 23:07:39 +ul (::::::******)(::**)((:(:)~^(!!()())*~(*)~^*)~^^)^(x)~^S 23:07:40 xxxx 23:07:40 don't have my laptop on me today 23:07:40 no laptop today? 23:07:42 ah 23:07:47 I only came in for guild council, really 23:07:50 +ul (::::::******)(::::::******)((:(:)~^(!!()())*~(*)~^*)~^^)^(x)~^S 23:07:55 +ul (::::::******)(:::::*****)((:(:)~^(!!()())*~(*)~^*)~^^)^(x)~^S 23:07:56 ais523|mibbit, ... "guild council"? 23:07:56 x 23:08:05 +ul (::::::******)(:::::*****)((:(:)~^(!!()())*~(*)~^*)~^^)^S 23:08:05 ::!!()()** 23:08:14 +ul (::::::******)(::::::******)((:(:)~^(!!()())*~(*)~^*)~^^)^S 23:08:14 :!!()()* 23:08:19 +ul (::::::******)(:::::::*******)((:(:)~^(!!()())*~(*)~^*)~^^)^S 23:08:19 !!()() 23:08:31 +ul (::::::******)(::::::::********)((:(:)~^(!!()())*~(*)~^*)~^^)^S 23:08:32 !!()()* 23:08:36 hmm 23:08:38 ^ul (::::::******)(::::::::********)((:(:)~^(!!()())*~(*)~^*)~^^)^S 23:08:44 ...out of time! 23:08:45 AnMaster: sort of like Parliament, but for a University, not a country 23:08:48 amongst the students 23:08:53 +ul (::::::******)(:::::::::*********)((:(:)~^(!!()())*~(*)~^*)~^^)^S 23:08:55 ...^ out of stack! 23:08:57 well 23:09:00 we decide what the university's student's should be campaigning for 23:09:01 better grammar at least 23:09:02 than 23:09:06 +ul (a)(::::::******)(:::::::::*********)((:(:)~^(!!()())*~(*)~^*)~^^)^S 23:09:06 ...a out of stack! 23:09:06 !!()()(*) 23:09:09 ;P 23:09:16 +ul (a)(b)(::::::******)(::::::::::**********)((:(:)~^(!!()())*~(*)~^*)~^^)^S 23:09:32 -!- KingOfKarlsruhe has quit ("Konversation terminated!"). 23:09:35 ais523|mibbit, I think that may be an error " ...a out of stack!"? 23:09:39 the spelling I mena 23:09:41 okily. so subtraction isn't exactly well-defined for negatives. 23:09:41 mean* 23:09:46 i mean, that subtraction 23:09:58 AnMaster: it's an error in the input program 23:10:00 +ul a 23:10:01 ...a out of stack! 23:10:05 you can't run a on an empty stack 23:10:10 +ul aS 23:10:10 ...a out of stack! 23:10:14 +ul (x)aS 23:10:14 (x) 23:10:14 ais523|mibbit, how comes fungot handled it? 23:10:15 AnMaster: ' ' ' 23:10:16 It's not very clear that 'a' is an instruction in this case, though. 23:10:25 AnMaster: because its Underload program is written in BF 23:10:30 and does no error checking 23:10:32 ah 23:10:36 a on an empry stack is undefined 23:10:37 fungot, huh? 23:10:37 AnMaster: should this be reverted, because you can't read their mind. it is 23:10:40 *empty stack 23:10:43 ah yes wikipedia still 23:10:47 the ' ' ' confused me 23:11:02 Thutubot is nice and errors 23:11:08 whereas fungot tries to plough on regardless 23:11:08 ais523|mibbit: potential references to use for citations. --special:contributions/ 131.216.41.16131.216.41.16 ( user talk:131.216.41.16talk) 19:26, 8 july 2006 ( utc 23:11:15 ^ul (x)*S 23:11:16 x 23:11:23 fis@eris:~/src/bef$ echo 'aS' | ~/inst/rcfunge/rcfunge/funge -q underload.b98 23:11:23 stack underflow. 23:11:23 heh, that doesn't surprise me... 23:11:30 The Funge-98 version will error out. 23:11:34 ais523, so thutubot is "fail-fast" while fungot is "fail-ignore"? 23:11:35 AnMaster: the constant use of " coup" here is simply incorrect. first uncertainty can be incorporated into the section on company officers, but it states there that the ep peaked at 2 ' ' fnord 23:11:37 When/if I get it integrated. 23:11:41 -!- olsner has quit ("Leaving"). 23:11:42 ^ul (x)~S(/)SS 23:11:44 /x 23:12:09 +ul (a)(b)(::::::******)((!)~^^)^S 23:12:09 ...! out of stack! 23:12:09 it seems that the BF version has an infinite number of empty strings at the bottom of the stack 23:12:16 fizzie, using { it is easy to integrate 23:12:21 maybe SUBR too 23:12:28 +ul (a)(b)(::::::******)((!)~^)^S 23:12:34 !!!!!!! 23:12:34 * ais523|mibbit tries to figure out what oklopol was trying to do 23:12:44 +ul (a)(b)(::::::******)((~)~^^)^S 23:12:44 a 23:12:48 +ul (a)(b)(:::::::*******)((~)~^^)^S 23:12:49 b 23:12:52 +ul (a)(b)(::::::::********)((~)~^^)^S 23:12:52 a 23:12:53 AnMaster: It still needs to store the program somewhere; and currently the program storage format is a bit hardcoded to the brainfuck bytecode, expects all programs to consist of two-cell pair elements and so on. 23:12:55 ah, got it 23:12:59 yeah 23:13:05 a divide-by-2 23:13:17 that's really quite clever, and utterly different from the way I did divide-by-10 23:13:22 that's where i'm trying to head, but that's just modulo... 23:13:41 Still, shouldn't be too difficult; there's already a "language id" number stored with the program, I just need to add a branching on columns 5 and 6 for that, and fix the things that deal with programs a bit. 23:13:42 oh, I think it can be adapted for divide too 23:13:44 fizzie, hm? Just store the underload stuff somewhere else? 23:13:46 my idea was, to get, using that, the parity bit, so i can subtract it, and do safe division; or something. 23:13:55 fizzie, like 50 cells away or whatever 23:14:00 OH, i have it now. 23:14:05 you would need to store something in the program each time round 23:14:05 AnMaster: I don't want to have to have two completely different lists to check for "^foo". 23:14:11 fizzie, ah right 23:14:25 (As well as two completely different lists to store to the state file and list with ^show and so on.) 23:14:32 fizzie, maybe you could compile them to befunge? :D 23:15:10 I believe threaded code would be awfully slow 23:15:25 I think I'll just store the program string (there where the brainfuck version converts to bytecode); it's just that the state-file saving and such need to be fixed to understand that. 23:15:44 +ul (::::::::********)(:((this)S)~((that)S)~(~)~^^^!)^S 23:15:44 this::::::::******** 23:15:48 +ul (:::::::::*********)(:((this)S)~((that)S)~(~)~^^^!)^S 23:15:49 that:::::::::********* 23:16:10 what the heck 23:16:15 that code is quite unreadable 23:16:16 to me 23:16:48 +ul (:::::::::*********)(:(~:(:)~^(!!()())*~(*)~^*)~^^~)~()~(~)~^^^!)^S 23:16:48 Fortuitously the number "0" never appears in the brainfuck bytecode (except as the terminating instruction) so I can just make it deal with programs as arbitrary zero-terminated lists of cells. (Even though the brainfuck bytecode "really" is pairs of (operation, argument) values.) 23:16:54 AnMaster: it's Underload, it's not that bad once you're used to it 23:16:59 http://upsilon.cc/~zack/blog/posts/2008/10/from_Vim_to_Emacs_-_part_1/ LOL :D Debian vim maintainer switches to emacs 23:17:07 fizzie, oh btw for state file saving, if you ever use i and/or o be aware of that cfunge reads stuff as unsigned char 23:17:09 for files 23:17:10 except in Mibbit because it keeps replacing bits of code with smileys 23:17:15 +ul (:::::::::*********)(:(~~)~()~(~)~^^^!)^S 23:17:15 :::::::::********* 23:17:16 unless otherwise specified 23:17:34 oklopol: ~~ obviously does nothing 23:18:21 ais523: it will soon. 23:18:40 I think I'll stick to FILE's G/P for the state file, it's so easy to use even if it's a bit inefficient. 23:19:20 unikitten is still the ultimate 2d language 23:19:33 +ul (:::***)((:(:)~^(!!()())*~(*)~^*)~^^)^S 23:19:34 ...: out of stack! 23:19:40 fizzie, oh yes it is 23:19:41 And in the language model (which I'm reading with FILE's R) I just use only byte values [0, 127] in order to not get into problems with that. 23:19:49 +ul ((:^S~aSS)(+ul )):^S~aSS 23:19:49 +ul ((:^S~aSS)(+ul )):^S~aSS 23:19:51 ...could someone find decrement in that? :P 23:19:57 fizzie, as for GP I don't remember how they are supposed to read but probably char or unsigned char 23:20:19 +ul (:::***)(:(:)~^(!!()())*~(*)~^*)^S 23:20:19 ::::!!()()**** 23:20:21 ... 23:20:22 I just store decimal integers, one per line, so I don't really care. :p 23:20:28 if the spec doesn't say otherwise it should be unsigned in cfunge, if it is still signed be sure to mention it 23:20:30 ah ok 23:20:42 oklopol: ::::!!()()**** is ::** when optimised 23:20:43 or 3 23:20:45 +ul (:::::::::*********)(:(~:(:)~^(!!()())*~(*)~^*~)~()~(~)~^^^!)^S 23:20:45 :::::::::********* 23:20:52 +ul (::::::::::**********)(:(~:(:)~^(!!()())*~(*)~^*~)~()~(~)~^^^!)^S 23:20:52 :::::::::::!!()()*********** 23:20:58 (Except that the ^def command names are there as plaintext...) 23:21:01 +ul (::::::::::**********)(:(~:(:)~^(!!()())*~(*)~^*~)~()~(~)~^^^!)^(x)~^S 23:21:01 xxxxxxxxxx 23:21:04 +ul (:::::::::::***********)(:(~:(:)~^(!!()())*~(*)~^*~)~()~(~)~^^^!)^(x)~^S 23:21:05 xxxxxxxxxxxx 23:21:08 +ul (::::::::::::************)(:(~:(:)~^(!!()())*~(*)~^*~)~()~(~)~^^^!)^(x)~^S 23:21:08 xxxxxxxxxxxx 23:21:12 +ul (:::::::::::::*************)(:(~:(:)~^(!!()())*~(*)~^*~)~()~(~)~^^^!)^(x)~^S 23:21:12 xxxxxxxxxxxxxx 23:21:14 okay 23:21:26 now the rest is trivial. 23:21:30 fizzie, so all below 128 in other words? 23:21:37 that is probably the only portable way 23:21:56 fizzie, also I don't know if cfunge truncates or wraps larger integer 23:22:08 ie, if 278 ends up as 255 or some low number 23:22:35 possibly it may vary between different instructions 23:22:39 should really clean that up 23:24:04 +ul (::!::!***)^(x)~^S 23:24:05 ...: out of stack! 23:24:07 +ul (::!::!**)^(x)~^S 23:24:08 ...: out of stack! 23:24:18 +ul (::!::!**)(x)~^S 23:24:18 xxx 23:24:27 +ul (::!::!::!***)(x)~^S 23:24:27 xxxx 23:24:56 the rest, it is not trivial. 23:25:04 it's as hard as the beginning was. 23:29:48 +ul ((:^SaS:aS^!S)(+ul ))((:^SaS:aS^!S)(*ul )):^SaS:aS^!S 23:29:48 *ul (:^SaS:aS^!S)((:^SaS:aS^!S)(*ul )):^SaS:aS^!S 23:30:12 hmph 23:30:41 oerjan: trying to make a quine? 23:30:51 polyglot quine 23:31:03 ah, between Underload and Underload? 23:31:06 yeah 23:31:29 ehird, thanks for that link 23:31:34 about vim -> emacs 23:31:39 very very useful for me :P 23:31:44 why 23:31:55 +ul ((:^S!aS:aS^!S)(+ul ))((:^S!aS:aS^!S)(*ul )):^S!aS:aS^!S 23:31:55 *ul ((:^S!aS:aS^!S)(*ul ))((:^S!aS:aS^!S)(+ul )):^S!aS:aS^!S 23:32:07 there it was 23:32:11 ehird, oh I just sent to a few friends who use vim 23:32:12 :P 23:32:40 Good to know you're caught up in the childish editor wars. 23:32:52 ^ul ((:^S!aS:aS^!S)(+ul ))((:^S!aS:aS^!S)(*ul )):^S!aS:aS^!S 23:32:58 ...out of time! 23:33:04 heh 23:33:20 ehird, no editor war 23:33:58 more like editor martial art 23:34:14 was probably for the best 23:34:29 oerjan, oh? 23:34:42 that fungot couldn't run my program 23:34:42 oerjan: this article was automatically assessed because at least one reliable source that says that latin is a timeless language. it is 23:34:49 oerjan, oh why is that? 23:35:07 ... 23:35:17 because then someone might want to test it properly... 23:35:49 fungot: how do you like Wikipedia, by the way? 23:35:49 ais523|mibbit: please go to fnord image description page and edit it to include a wikipedia:fair use rationale guidelineexplanation or rationale as to why its use in ' ' ' 23:36:05 wow 23:36:12 fungot: you seem to be confused by the markup for bold 23:36:12 ais523|mibbit: the 4wp car is mine, no it is not the case. 23:36:22 anyway, better go home 23:36:24 ais523|mibbit, hehe 23:36:24 oh right, it's the wp pages 23:36:25 bye everyone! 23:36:27 ais523|mibbit, cya 23:36:29 -!- ais523|mibbit has quit ("http://www.mibbit.com ajax IRC Client"). 23:36:58 +ul (:::::::::::::*************)(:(:)~^(!!()())*~(*)~^*)^S 23:36:59 ::::::::::::::!!()()************** 23:38:59 oklopol, quine please 23:39:32 oklopol, including the ^ul 23:39:35 in the quite 23:39:37 quine* 23:40:00 actually a better idea would be fungot <-> thutubot loop 23:40:01 AnMaster: and then who knows, dr spooner may prove right in the end... fnord 02:25, 15 oct 2004 ( utc) 23:40:12 dr spooner? 23:40:14 oh well 23:40:30 fizzie, you probably want to avoid loops with thutubot 23:40:36 +ul (:::::*****)((:)~*(*)*)^(x)~^S 23:40:36 xxxxxxx 23:40:37 with ul that would be possible 23:40:53 ignore thutubot I guess 23:40:58 +ul (:::::::::::::*************)(::(:(:)~^(!!()())*~(*)~^*)~^:*~((:)~*(*)*)~^~*^)^S 23:40:58 :!!()()* 23:41:02 :) 23:41:10 AnMaster: er i did just that a bit above? 23:42:02 except that fungot couldn't run the program through because it was too complicated 23:42:03 oerjan: what about all the other controversial statements basically summarise what he says, dec. 25, 1989, friday jerusalem post 23:42:25 Didn't we already have one fungot-thutubot loop. 23:42:25 fizzie: this article was automatically assessed because at least one tank fnord as a subspecies of the black on white violence. clear, unedited and in no way constitute a " massive attack on free speech" but aiming to insult and defame holocaust victims and fnord and their meanings. i don't think anybody calls it the " power stroke" 23:42:54 yeah but i wanted to try a loop with both in underload 23:43:11 +ul (:::::::::::::*************)(::((:)~*(*)*)~^:*~(:(:)~^(!!()())*~(*)~^*)~^~*^)^S 23:43:12 :::::::::::::::::::::::::::::!!()()***************************** 23:43:18 +ul (:::::::::::::*************)(::((:)~*(*)*)~^:*~(:(:)~^(!!()())*~(*)~^*)~^~*^)^(x)~^S 23:43:18 xxxxxxxxxxxxxxxxxxxxxxxxxxxx 23:43:33 +ul (:::::::::::::*************)(x)~^S 23:43:34 xxxxxxxxxxxxxx 23:43:42 well that's one complicated multiplication. 23:43:50 that was *not* what i was trying to do. 23:44:14 oerjan, oh ok