The Museum of HP Calculators

HP Forum Archive 21

[ Return to Index | Top of Index ]

HP Prime documentation
Message #1 Posted by Nate Martin on 23 Nov 2013, 3:23 p.m.

Is there any good source for the commands and functions of the HP Prime, including programming keywords and syntax? Or is the Prime just a toy due to lack of documentation?

I have been programming HP's for over 30 years (41C, 48GX, 50G) and I had high hopes for the Prime, but the only results I seem to get are syntax errors.

      
Re: HP Prime documentation
Message #2 Posted by bluesun08 on 23 Nov 2013, 7:06 p.m.,
in response to message #1 by Nate Martin

The same old story ...

      
Re: HP Prime documentation
Message #3 Posted by Thomas Chrapkiewicz on 23 Nov 2013, 9:44 p.m.,
in response to message #1 by Nate Martin

This should be plenty of information, no?:

http://www.hpcalc.org/prime/docs/

TomC

            
Re: HP Prime documentation
Message #4 Posted by Michael Carey on 24 Nov 2013, 3:12 a.m.,
in response to message #3 by Thomas Chrapkiewicz

There is also the built in help.

Regards Michael Carey

                  
Re: HP Prime documentation
Message #5 Posted by LudgerP on 24 Nov 2013, 6:45 a.m.,
in response to message #4 by Michael Carey

Hallo,

i think, most of the questions in this forum about the Prime are due to insufficient documentation.

Ludger

                  
Re: HP Prime documentation
Message #6 Posted by Nate Martin on 24 Nov 2013, 10:34 a.m.,
in response to message #4 by Michael Carey

Both the user guide and the internal help function is very incomplete. I have been trying to refer to some older manuals and using trial and error to get the syntax correct...This is how hackers and hobbyists operate; but is in no way satisfactory for a commercial device to be used by professionals.

Does anyone know the implementation and syntax for a DDAYS or ATAN2 function for the Prime? I am currently brute forcing ATAN through 360* but I would like a cleaner implementation.

                        
Re: HP Prime documentation
Message #7 Posted by Tim Wessman on 24 Nov 2013, 11:22 a.m.,
in response to message #6 by Nate Martin

There are no date/time functions at the moment. Nor is there an ATAN2 type function.

Did I misunderstand something here in what you are asking?

                              
Re: HP Prime documentation
Message #8 Posted by Nate Martin on 24 Nov 2013, 12:40 p.m.,
in response to message #7 by Tim Wessman

That is a good answer, but dang!

I was trying to implement some navigation calculations involving spherical navigation and orbital mechanics that will now require more brute force then otherwise.

                        
Re: HP Prime documentation
Message #9 Posted by Damien on 24 Nov 2013, 5:58 p.m.,
in response to message #6 by Nate Martin

Try these lines of code:

//------------------------------------------
// Calcul du nombre de jours écoulés entre
// deux dates calendaires
EXPORT DDAYS(D1,D2)
BEGIN
 LOCAL a1,m1,j1,a2,m2,j2,z1,z2;
// YYYY.MMDD
 a1:=IP(D1); // YYYY
 m1:=IP(FP(D1)*100); // MM
 j1:=IP(FP(FP(D1)*100)*100); // DD
// YYYY.MMDD
 a2:=IP(D2); // YYYY
 m2:=IP(FP(D2)*100); // MM
 j2:=IP(FP(FP(D2)*100)*100); // DD
 IF m1<3 THEN m1:=m1+12; a1:=a1-1;
 END;
 IF D1<=1582.1004 THEN
  B:=IP(-2+(a1+4716)/4-1179);
 ELSE
  B:=IP(a1/400-a1/100+a1/4);
 END;
 z1:=365*a1-679004+B+2400000.5;
 z1:=z1+IP(30.6001*(m1+1))+j1+.5;
 IF m2<3 THEN m2:=m2+12; a2:=a2-1;
 END;
 IF D2<=1582.1004 THEN
  B:=IP(-2+(a2+4716)/4-1179);
 ELSE
  B:=IP(a2/400-a2/100+a2/4);
 END;
 z2:=365*a2-679004+B+2400000.5;
 z2:=z2+IP(30.6001*(m2+1))+j2+.5;
 RETURN ABS(z2-z1);
END;
//------------------------------------------
input parameters: 2 dates in HP Prime format

for example:

D1= 1970.0609 (1970 june the ninth) D2=2013.1124 (today)

gives 15874 days.

Or you can read this:

http://edspi31415.blogspot.fr/2013/11/hp-prime-programming-tutorial-6.html

Regards,

Damien

Edited: 24 Nov 2013, 6:20 p.m.

                              
Re: HP Prime documentation
Message #10 Posted by Nate Martin on 24 Nov 2013, 8:24 p.m.,
in response to message #9 by Damien

Thank-you Damien.

This afternoon I also wrote a J2000 day program that outputs to a user-variable JD2K

EXPORT JDATE2K()

BEGIN

LOCAL JDY, JDM, JDD;

LOCAL LDY, LDM, LDD, LD2K;

LOCAL TDY, TDM, TDD, TD2K;

//allow for default to system date

Date()&#9654;TD2K;

IP(TD2K)&#9654;TDY;

((TD2K-TDY)*100)&#9654;TD2K;

IP(TD2K)&#9654;TDM;

IP((TD2K-TDM)*100)&#9654;TDD;

//input desired date or default to system date

Input(LDY, "Year", "Year = (yyyy)", "Enter Year", TDY);

Input(LDM, "Month", "Month = (mm)", "Enter Month", TDM);

Input(LDD, "Day", "Day = (dd)", "Enter Day", TDD);

//calculate J2000 day

//easier to reference 3/1/2000 and add 59 days for leap year handling

LDD&#9654;JDD;

(LDM+9) MOD 12&#9654;JDM;

(LDY-2000) - IP(JDM/10)&#9654;JDY; //reference to 2000AD

JDY*365+IP(JDY/4)-IP(JDY/100)+IP(JDY/400)+IP(((JDM*306)+5)/10)+(JDD+59)&#9654;JD2K;

END;

Although it looks like the web page does not like unicode, the sto function is showing up as &#9654

                        
Re: HP Prime documentation
Message #11 Posted by toml_12953 on 25 Nov 2013, 12:55 p.m.,
in response to message #6 by Nate Martin

Quote:
This is how hackers and hobbyists operate; but is in no way satisfactory for a commercial device to be used by professionals.


Since it's aimed at students and not professionals, it's not as big a problem as we think.


[ Return to Index | Top of Index ]

Go back to the main exhibit hall