1. Sequences
- Posted by Jim Roberts <jhroberts1 at JUNO.COM> Nov 08, 1998
- 984 views
- Last edited Nov 09, 1998
In EUPHORIA I read a file that was written in FORTRAN and it has the following format: 4I4 A record might look like this where "b" is considered to be a blank. bbb0bbb0bbb0bbb0 or bb23b112bb34bb23 or b103bb58bbb6bb23 I can go thru each record checking for blanks and probably convert the numeric values but I have not found an easy way. When I look at each record in a sequence statement all four characters are in a group. There has got to be a simple way to convert each 4 character field to an integer. It is my understanding that a dimension statement does not exist in EUPHORIA. Is this true? The reason I ask is that as I unpack each 4 characrter numbers in each record I would like to place it in a buffer where I can use it as an integer for later calculations. I guess I can place them back in a sequence to do all of my calculations. If someone will help me with this simple problem I would be very appreciative as I am still trying to convert a simple QB program to a EUPHORIA program! Thanks, Jim Roberts
2. Re: Sequences
- Posted by Hawke <mdeland at NWINFO.NET> Nov 08, 1998
- 803 views
Jim Roberts wrote: > > In EUPHORIA I read a file that was written in FORTRAN and it has the > following format: > > 4I4 > > A record might look like this where "b" is considered to be a blank. > > bbb0bbb0bbb0bbb0 > > or > > bb23b112bb34bb23 > > or > > b103bb58bbb6bb23 > > I can go thru each record checking for blanks and probably convert the > numeric values but I have not found an easy way. When I look at each > record in a sequence statement all four characters are in a group. There > has got to be a simple way to convert each 4 character field to an > integer. It is my understanding that a dimension statement does not > exist in EUPHORIA. Is this true? The reason I ask is that as I unpack > each 4 characrter numbers in each record I would like to place it in a > buffer where I can use it as an integer for later calculations. > > I guess I can place them back in a sequence to do all of my calculations. > > If someone will help me with this simple problem I would be very > appreciative as I am still trying to convert a simple QB program to a > EUPHORIA program! > > Thanks, > Jim Roberts off the top of my head, i'd say you needed an algorithm that appears akin to: numberlist = {} while not EOF do temp = {} for i= 1 to 4 do temp = temp & getc(FN) end for temp = value(temp) temp = temp[2] --check of course if all went well numberlist = numberlist & temp end while return numberlist and numberlist will have a list of valid integers at each element location within it... now, right off, my syntax and choice of getc as opposed to other get?() functions could be wrong here.... but i think you get the idear :) not to mention the fact that the above code won't even work ;) hope this helps--Hawke'
3. Re: Sequences
- Posted by Irv Mullins <irv at ELLIJAY.COM> Nov 09, 1998
- 789 views
On Sun, 8 Nov 1998 20:07:26 -0600, Jim Roberts <jhroberts1 at JUNO.COM> wrote: >In EUPHORIA I read a file that was written in FORTRAN and it has the >following format: > > 4I4 > >A record might look like this where "b" is considered to be a blank. > > bbb0bbb0bbb0bbb0 > > or > > bb23b112bb34bb23 > > or > > b103bb58bbb6bb23 > >I can go thru each record checking for blanks and probably convert the >numeric values but I have not found an easy way. When I look at each >record in a sequence statement all four characters are in a group. There >has got to be a simple way to convert each 4 character field to an >integer. It is my understanding that a dimension statement does not >exist in EUPHORIA. Is this true? The reason I ask is that as I unpack >each 4 characrter numbers in each record I would like to place it in a >buffer where I can use it as an integer for later calculations. > >I guess I can place them back in a sequence to do all of my calculations. > >If someone will help me with this simple problem I would be very >appreciative as I am still trying to convert a simple QB program to a >EUPHORIA program! > >Thanks, >Jim Roberts Here's my test file: 1 2 3 4 12 13 14 15 110 111 112 112 4321432243234324 Here's tested (TESTED!) code: include get.e -- for value function object input sequence n,nums atom fn fn = open("test.dat","r") nums = {} while 1 do input = gets(fn) if atom(input) then exit -- bye bye at eof elsif length(input) < 16 then exit -- or a blank line, whichever else puts(1,"Line in:" & input) -- show me what you've got for i = 1 to 16 by 4 do -- for each field n = value(input[i..i+3]) -- convert from string to # nums = append(nums,n[2]) -- stick the # onto end of sequence end for end if puts(1,"Converted:") ? nums end while Regards, Irv
4. Re: Sequences
- Posted by Wayne Overman <euman at BELLSOUTH.NET> Aug 30, 2000
- 786 views
- Last edited Aug 31, 2000
------=_NextPart_000_000D_01C012C3.7622F8E0 charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable The question Tony asked is EDS related..... The sequence in the form {"first","second","third"} is written to the database.. He then wants to read out the info which now is {{first},{second},{third}} and append the next sequence which should be notice that we have one main sequence still, try appending another sequence and you have an N-th sequence everytime = you add a sequence........ i.e instead of {} becomes{{}} and {{{}}} his program wont read past {{}} hence the problem. I couldnt find a fast method, If any one has something to=20 fix this I would appreciate it.... euman at bellsouth.net ------=_NextPart_000_000D_01C012C3.7622F8E0 charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=3DContent-Type content=3D"text/html; = charset=3Diso-8859-1"> <META content=3D"MSHTML 5.50.4207.2601" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>The question Tony asked is EDS=20 related.....</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>The sequence in the form=20 {"first","second","third"}</FONT></DIV> <DIV><FONT face=3DArial size=3D2>is written to the = database..</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>He then wants to read out the info = which now=20 is</FONT></DIV> <DIV><FONT face=3DArial size=3D2>{{first},{second},{third}}</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>and append the next sequence which = should=20 be</FONT></DIV> <DIV><FONT face=3DArial=20 <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>notice that we have one main sequence=20 still,</FONT></DIV> <DIV><FONT face=3DArial size=3D2>try appending another sequence and = you have an=20 N-th sequence everytime </FONT><FONT face=3DArial size=3D2>you add a=20 sequence........</FONT></DIV> <DIV><FONT face=3DArial size=3D2>i.e instead of {} becomes{{}} = and</FONT></DIV> <DIV><FONT face=3DArial size=3D2>{{{}}} his program wont read past {{}} = hence the=20 problem.</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>I couldnt find a fast method, If any = one has=20 something to </FONT></DIV> <DIV><FONT face=3DArial size=3D2>fix this I would appreciate=20 it....</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2><A=20 <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> ------=_NextPart_000_000D_01C012C3.7622F8E0--
5. Sequences
- Posted by Michael Nelson <MichaelANelson at WORLDNET.ATT.NET> Feb 03, 2001
- 796 views
Only variables can be subscipted or sliced, not literals or expressions. Whether this should be the case is another question--I would vote for subscipting/slicing of expessions in the next release. -- Mike Nelson
6. Sequences
- Posted by Greg Harris <blackdog at MAIL.CDC.NET> Jan 14, 1997
- 818 views
I have a quick question about sequences. How do I construct a multidimensional type array with sequences? For example, in Basic I would use: Dim dataarray(3,6,4,3) How would this be accomplished using euphoria? Thanks, Greg Harris
7. Re: Sequences
- Posted by mike burrell <mikpos at GAIANET.NET> Jan 14, 1997
- 815 views
- Last edited Jan 15, 1997
> I have a quick question about sequences. How do I construct a > multidimensional type array with sequences? For example, in Basic I > would use: > > Dim dataarray(3,6,4,3) > > How would this be accomplished using euphoria? well obviously you can't "define" sequences in euphoria because of its data allocation system... but you have something like this: sequence data_array data_array = hope that clarifies things :D
8. Sequences
- Posted by Robert Craig <72614.1667 at COMPUSERVE.COM> Jan 15, 1997
- 812 views
Greg Harris writes: > I have a quick question about sequences. How do I construct a > multidimensional type array with sequences? For example, in Basic I > would use: > Dim dataarray(3,6,4,3) In Euphoria you could construct this as: sequence dataarray dataarray = repeat(repeat(repeat(repeat(0,3),4),6),3) Note the reverse order: 3 4 6 3 You could then access individual elements with: dataarray[h][i][j][k] In BASIC subscripts start at 0. In Euphoria they start at 1. In Euphoria you aren't limited to "rectangular" shapes for your multi-dimensional arrays. For example, each "row" of a 2-d array (sequence) could be a different length. Also, in Euphoria you can grow or shrink your multi-dimensional sequence along any dimension at any time without having to discard all your data, like some Basics require when you "redim". Regards, Rob Craig Rapid Deployment Software
9. Re: Sequences
- Posted by Arthur Adamson <euclid at HORANDATA.NET> Jan 15, 1997
- 803 views
- Last edited Jan 16, 1997
At 10:42 PM 1/14/97 +0000, you wrote: >---------------------- Information from the mail header ----------------------- >Sender: Euphoria Programming for MS-DOS <EUPHORIA at >MIAMIU.ACS.MUOHIO.EDU> >Poster: mike burrell <mikpos at GAIANET.NET> >Subject: Re: Sequences >------------------------------------------------------------------------------- > >> I have a quick question about sequences. How do I construct a >> multidimensional type array with sequences? For example, in Basic I >> would use: >> >> Dim dataarray(3,6,4,3) >> >> How would this be accomplished using euphoria? > >well obviously you can't "define" sequences in euphoria because of >its data allocation system... but you have something like this: > >sequence data_array > >data_array = > >hope that clarifies things :D Mike, Bob Craig was kind enough to suggest a neat way to me. I have included it in the matrix.e file I expect to release to this group soon. Consider: global function makeRowVector(integer column) return repeat(0,columns) end function global function makeColumnVector(integer rows) return repeat(repeat(0,1), rows) end function global function make2DMatrix(integer rows, integer columns) return repeat(repeat(0,columns), rows) end function global function make3DMatrix(integer rows, integer columns, integer layers) return repeat(repeat(repeat(0,columns), rows), layers) end function In all cases, the 0 initializes the returned array to 0. Another value could be used in the code directly or via an input parameter. Neat? Art Adamson For my use, I put the above in an include file called mat.e Then the following test program shows the results: --file testmat.ex include mat.e ? makeRowVector(3) ? makeColumnVector(3) ? make2DMatrix(3,4) ? make3DMatrix(2,3,4) --I'm sure the extension path for more dimensions is apparent to you. Bye Art Arthur P. Adamson, The Engine Man, euclid at mail.horandata.net
10. Re: Sequences
- Posted by Greg Harris <blackdog at MAIL.CDC.NET> Jan 15, 1997
- 799 views
- Last edited Jan 16, 1997
> sequence dataarray > dataarray = repeat(repeat(repeat(repeat(0,3),4),6),3) > Note the reverse order: 3 4 6 3 I didn't realize that it was that easy. > In BASIC subscripts start at 0. In Euphoria they start at 1. I always did think that BASIC subscripting was a bit odd when it came to arrays. Starting at one seems more logical to me. > In Euphoria you aren't limited to "rectangular" > shapes for your multi-dimensional arrays. > For example, each "row" of a 2-d array (sequence) could be > a different length. Also, in Euphoria you can grow or shrink > your multi-dimensional sequence along any dimension at any time > without having to discard all your data, like some Basics require > when you "redim". That could come in handy. Thanks for the help. Greg.