HP Forums
index and find cmd - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: HP Prime (/forum-5.html)
+--- Thread: index and find cmd (/thread-11963.html)



index and find cmd - compsystems - 12-16-2018 06:31 PM

Hello

Please try the following instructions on the hp-prime calculator:

index:=1:; E_ := [ "H", "E", "L", "L", "O" ]:; find( "L", E_ ); index(E_,"L"); [enter]
"Done","Done",[3,4],3 // ok

Now index -> 0
index:=0:; E_ := [ "H", "E", "L", "L", "O" ]:; find( "L", E_ ); index(E_,"L"); [enter]
"Done","Done",2,2

the output should be
"Done","Done",[2,3],2

index:=1:;index("abracadabrant","c") [enter] error // the output should be 5
index:=0:;index("abracadabrant","c") [enter] -1 // the output should be 4

Thanks


RE: index and find cmd - cdmackay - 12-16-2018 07:34 PM

Where is the index() function documented?


RE: index and find cmd - compsystems - 12-16-2018 11:38 PM

on XCAS PC, Help Button.

Quote:Index of the first position of an object in a list, a string or a set or return an error message.
index(Vect,Expr)

index -> 0
index( [ 3, x, 1, 2, 1, 3 ],1) [↵] 2
index( [ 0, 1, 3, 2,4,2,5 ],2) [↵] 3
index( %{4, 3, 1, 2 %}, 1 ) [↵] 2
index("abracadabrant","c") [↵] 4



Index acts as a system variable and as a functional command,

For functional command:
Index() returns the first position of an object in a list, a string or a set, if it does not find the object returns an error message. "Error: Bad Argument Value[/code]"

index(List/String/Set,Object)

LIST:
index:=0:; index([9,8,-1,8,9,8,7],8) [↵] returns "Done",1
index:=1:; index([9,8,-1,8,9,8,7],8) [↵] returns "Done",2

SET:
index:=0:; F_ := set[ H_,E_,L_,L_,O_];
F_ => set[ H_,E_,L_,O_]; // the multiplicity of L_ is eliminated
index(F_,O_) [↵] returns 3
index(F_,L_) [↵] returns 2

Table with string as index
https://www-fourier.ujf-grenoble.fr/~parisse/giac/doc/en/cascmd_en/node407.html

T_:= table( 3=-10, "a"=10, "b"=20, "c"=30, "d"=40 ) [↵]
T_["b"] [↵] 20, Why it changes to T_("b1") on history view, I think the history view engine has to be improved.


RE: index and find cmd - cdmackay - 12-17-2018 12:02 AM

(12-16-2018 11:38 PM)compsystems Wrote:  on XCAS PC, Help Button.

Ah, I wondered about that.

Is the Prime documented as having a complete port of XCas? If not, then things like this are presumably classed as undocumented behaviour, and it may not be reasonable to be documenting them here as bugs.

That is, unless we consider it to be a Prime documentation bug that it's not mentioned? But perhaps there's a reason for that.


RE: index and find cmd - rprosperi - 12-17-2018 12:25 AM

(12-17-2018 12:02 AM)cdmackay Wrote:  Is the Prime documented as having a complete port of XCas? If not, then things like this are presumably classed as undocumented behaviour, and it may not be reasonable to be documenting them here as bugs.

That is, unless we consider it to be a Prime documentation bug that it's not mentioned? But perhaps there's a reason for that.

As has been explained many times, many XCas functions are NOT intended to be used in Prime, and therefore have not been documented, may have bugs, etc. Nevertheless, due to the nature of the integrated CAS design/code, some of these are still 'discoverable' in the Prime port as it would be quite some considerable work to to remove them from the code base that is ported.

If a function is not documented, it can safely be considered not supported, and hence if it is found and explored, unexpected (possibly even incorrect) behavior should not be considered bugs, since an undocumented feature has no correct or incorrect behaviour.

That said, there have been some undocumented features that have been found, and accidentally or otherwise behave as expected and/or correctly. IMHO, these should be considered serendipity, and documented here (once tested and verified by the finder) so other folks can benefit and possibly use that feature.

It seems to me that rather than endlessly reporting all the parts of XCas that aren't in the Prime, or present but buggy, it would be much more helpful to explain how such a feature could be useful to a significant number of users, to give HP rationale and motivation to fix the issue and promote it to documented and supported.

And while I certainly don't understand many of these at all, I think it's safe to say that features that are only understood by a handful of Mathematics geniuses like Parisse aren't likely candidates for such promotion. With only limited resources to invest into Prime development, it doesn't make sense to squander that on obscure features only a small number of prospective customers would use. All this is simply IMHO, but I think most would agree it makes sense.


RE: index and find cmd - cdmackay - 12-17-2018 01:04 AM

thanks Bob, makes sense to me.


RE: index and find cmd - compsystems - 12-17-2018 02:35 AM

The functions that I expose if they are important, please verify in link, http://www.hpmuseum.org/forum/thread-8577-page-3.html

For example, it is necessary to detect specific data types, for this the funtion subtype() cmd is required


Xcas
subtype(set[a,a,b]),subtype(poly1[0,0,3,-1]),subtype(a,a,b) [↵] returns
2,10,1


Other function type commands to incorporate: equal2diff, list2exp

Sample
c:=circle(0,2);
b:=4x^2+3x*y+y^2-8;
a:=equal2diff(equation(c));
r:=resultant(a,b,x);
sy:=solve(r=0,y,'='); sx:=sy:;
list2exp(sy,y); [↵] returns

y=(-(sqrt((sqrt(17)+7)/3) or y=(-(sqrt((-(sqrt(17))+7)/3) or y=(sqrt((-(sqrt(17))+7)/3) or (y=(sqrt((sqrt(17)+7)/3)

Test on-line, press session Xcas sublink
https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=28&p=10708