> For characters x>.y (or any dyad) has only *:256 possibilities. > Therefore, one solution is to construct a table of size 65536:
Perhaps special code for well_behaved_dyad&.(a.&i.) The interpreter is already part way down that road: http://www.jsoftware.com/help/release/underai.htm ----- Original Message ----- From: Roger Hui <[EMAIL PROTECTED]> Date: Sunday, April 6, 2008 8:13 Subject: Re: [Jprogramming] relational operators and character data To: Programming forum <[email protected]> > For characters x>.y (or any dyad) has only *:256 > possibilities. > Therefore, one solution is to construct a table of size 65536: > > MAXC=: , a.{~>./~i.256 > MAXA=: ,/ ,"0/~ a. > maxc=: MAXC {~ MAXA i. ,. > > GTE =: a. {~ >. & (a. i. ]) > char1 =: a. {~ [EMAIL PROTECTED] > char2 =: a. {~ [EMAIL PROTECTED] > > char1 (GTE -: maxc) char2 > 1 > > ts=: 6!:2 , 7!:[EMAIL PROTECTED] > ts 'char1 GTE char2' > 0.0488294 1.25841e7 > ts 'char1 maxc char2' > 0.0753319 6.8169e6 > > > > ----- Original Message ----- > From: david alis <[EMAIL PROTECTED]> > Date: Sunday, April 6, 2008 1:41 > Subject: [Jprogramming] relational operators and character data > To: Programming forum <[email protected]> > > > Given X and Y with values taken from the set 'A', 'B', 'C', 'D'. > > I need to compute the larger of the two values (larger > > with respect > > to their position in ascii or ebcdic). > > In other words X >. Y > > However >. doesnt work with characters. > > Thus I use an expression similar to: > > a.{~>. & (a.i.]) > > > > In 64 bit J this expression needs around 25M for a character > > vector of > > length 1e6: > > > > GTE =: a. {~ >. & (a. i. ]) > > char1 =: a. {~ num1 =: [EMAIL PROTECTED] > > char2 =: a. {~ num2 =: [EMAIL PROTECTED] > > > > 7!:5<'num1' > > 8388608 > > 7!:5<'char1' > > 1048576 > > > > 7!:2 'char2 GTE char1' > > 25167872 > > 7!:2 'num2 >. num1' > > 8390272 > > > > Is there an alternative, or is there a form of the expression that > > would use special code? > > Perhaps there is an argument to !. such that when applied to > >. would > > extend its domain? (Something like >.!.<a.) ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
