Post Reply 
Adding Table of constant Units? how?
09-01-2016, 06:07 AM
Post: #1
Adding Table of constant Units? how?
Hello There,

How does someone add a Table of Constants Units like "Table of astronomical constants" and make them universal so any program can read and use them in any equation?
Find all posts by this user
Quote this message in a reply
09-02-2016, 06:18 AM
Post: #2
RE: Adding Table of constant Units? how?
Unfortunately I have no solution yet.
Maybe your question would be more visible in the other sub forum: "HP Prime" http://www.hpmuseum.org/forum/forum-5.html
Find all posts by this user
Quote this message in a reply
09-04-2016, 07:31 AM (This post was last modified: 09-04-2016 07:36 AM by Didier Lachieze.)
Post: #3
RE: Adding Table of constant Units? how?
I don't think you can define constants per se in the Prime but what you can do is defining global variables that you'll be able to use where you want. However you need to ensure that the name of your global variables don't conflict with the HP Prime predefined variables. Also as they are variables and not constants they can be modified so beware how you use them!

For example you can create a new program called "CONSTANTS", remove the CONSTANT template inside and just add these two lines and press Check:
Code:
EXPORT AU:=149597870691;
EXPORT ly:=9.460536207ᴇ12;

You have now created two global variables: ly light year in km and AU astronomical unit in km. You can use these variables to calculate for example the value of a light year in AU in this test program :
Code:
EXPORT TEST()
BEGIN
  RETURN(ly/AU);
END;
Find all posts by this user
Quote this message in a reply
09-04-2016, 09:23 AM
Post: #4
RE: Adding Table of constant Units? how?
The exported variables are available outside of programs, but there is no way to write protect them. They can easily be changed via command line entry, or other programs, so constants may not be exactly that!
Find all posts by this user
Quote this message in a reply
09-04-2016, 10:00 AM
Post: #5
RE: Adding Table of constant Units? how?
Perhaps creating a new application and assigning all needed constants in the start() part could help.
Arno
Find all posts by this user
Quote this message in a reply
09-04-2016, 06:50 PM
Post: #6
RE: Adding Table of constant Units? how?
If you need your constants to include units rather than just numbers, there is a complication: CONVERT's second parameter must be 1 unit, not 0.5 unit (using 0.5 in this example to convert between HP AU and my own AU, to make the output value obviously different.

Code:


 EXPORT MYAU:=0.5;//MULTIPLIER TO CONVERT BETWEEN HP AU AND MY AU
 EXPORT MYAUinAU:=0.5*1_au;//DOESNT WORK
 EXPORT LY()
 BEGIN
  PRINT();
  PRINT("LYR in HP AU: "+CONVERT(1_lyr,1_au));
  PRINT("LYR in MY AU: "+MYAU*CONVERT(1_lyr,1_au));
  PRINT("LYR NOT in my AU: "+CONVERT(1_lyr,MYAUinAU));//users may not expect this
 END;


To make Using your own units possible you would want CONVERT to notice that MYAUinAU was a value other than 1 unit and modify the number returned accordingly.

Stephen Lewkowicz (G1CMZ)
Visit this user's website Find all posts by this user
Quote this message in a reply
09-09-2016, 06:06 PM
Post: #7
RE: Adding Table of constant Units? how?
(09-04-2016 07:31 AM)Didier Lachieze Wrote:  I don't think you can define constants per se in the Prime but what you can do is defining global variables that you'll be able to use where you want. However you need to ensure that the name of your global variables don't conflict with the HP Prime predefined variables. Also as they are variables and not constants they can be modified so beware how you use them!

For example you can create a new program called "CONSTANTS", remove the CONSTANT template inside and just add these two lines and press Check:
Code:
EXPORT AU:=149597870691;
EXPORT ly:=9.460536207ᴇ12;

You have now created two global variables: ly light year in km and AU astronomical unit in km. You can use these variables to calculate for example the value of a light year in AU in this test program :
Code:
EXPORT TEST()
BEGIN
  RETURN(ly/AU);
END;

Thank you you solved the problem and answered my question thank you very much Smile
Find all posts by this user
Quote this message in a reply
09-09-2016, 06:12 PM
Post: #8
RE: Adding Table of constant Units? how?
(09-04-2016 06:50 PM)StephenG1CMZ Wrote:  If you need your constants to include units rather than just numbers, there is a complication: CONVERT's second parameter must be 1 unit, not 0.5 unit (using 0.5 in this example to convert between HP AU and my own AU, to make the output value obviously different.

Code:


 EXPORT MYAU:=0.5;//MULTIPLIER TO CONVERT BETWEEN HP AU AND MY AU
 EXPORT MYAUinAU:=0.5*1_au;//DOESNT WORK
 EXPORT LY()
 BEGIN
  PRINT();
  PRINT("LYR in HP AU: "+CONVERT(1_lyr,1_au));
  PRINT("LYR in MY AU: "+MYAU*CONVERT(1_lyr,1_au));
  PRINT("LYR NOT in my AU: "+CONVERT(1_lyr,MYAUinAU));//users may not expect this
 END;


To make Using your own units possible you would want CONVERT to notice that MYAUinAU was a value other than 1 unit and modify the number returned accordingly.

///////////////////
with all due respect to all the programmers C++, Perl, Ruby are a lot easier and more powerful a language than HP C. its making me second guess just using an app on my iPhone to do this calculator thing.
Is there a code or language PDF for HP C(language)????????
Find all posts by this user
Quote this message in a reply
09-10-2016, 08:22 AM (This post was last modified: 09-10-2016 01:13 PM by StephenG1CMZ.)
Post: #9
RE: Adding Table of constant Units? how?
(09-09-2016 06:12 PM)tom234 Wrote:  
(09-04-2016 06:50 PM)StephenG1CMZ Wrote:  If you need your constants to include units rather than just numbers, there is a complication: CONVERT's second parameter must be 1 unit, not 0.5 unit (using 0.5 in this example to convert between HP AU and my own AU, to make the output value obviously different.

Code:


 EXPORT MYAU:=0.5;//MULTIPLIER TO CONVERT BETWEEN HP AU AND MY AU
 EXPORT MYAUinAU:=0.5*1_au;//DOESNT WORK
 EXPORT LY()
 BEGIN
  PRINT();
  PRINT("LYR in HP AU: "+CONVERT(1_lyr,1_au));
  PRINT("LYR in MY AU: "+MYAU*CONVERT(1_lyr,1_au));
  PRINT("LYR NOT in my AU: "+CONVERT(1_lyr,MYAUinAU));//users may not expect this
 END;


To make Using your own units possible you would want CONVERT to notice that MYAUinAU was a value other than 1 unit and modify the number returned accordingly.

///////////////////
with all due respect to all the programmers C++, Perl, Ruby are a lot easier and more powerful a language than HP C. its making me second guess just using an app on my iPhone to do this calculator thing.
Is there a code or language PDF for HP C(language)????????

The language users use to program on the HP Prime is called PPL (Prime Programming Language).. Some have referred to it as being like Pascal.
www://http://support.hp.com/us-en/product/HP-Prime-Graphing-Calculator/5367459/model/5367460/manuals
The most up to date guide to syntax will be that in the on-calculator help.

Stephen Lewkowicz (G1CMZ)
Visit this user's website Find all posts by this user
Quote this message in a reply
09-22-2016, 07:11 PM
Post: #10
RE: Adding Table of constant Units? how?
Ty very much to one and all Smile
your help was greatly appreciated Smile
Find all posts by this user
Quote this message in a reply
06-03-2019, 07:48 PM
Post: #11
RE: Adding Table of constant Units? how?
(09-04-2016 07:31 AM)Didier Lachieze Wrote:  I don't think you can define constants per se in the Prime but what you can do is defining global variables that you'll be able to use where you want. However you need to ensure that the name of your global variables don't conflict with the HP Prime predefined variables. Also as they are variables and not constants they can be modified so beware how you use them!

For example you can create a new program called "CONSTANTS", remove the CONSTANT template inside and just add these two lines and press Check:
Code:
EXPORT AU:=149597870691;
EXPORT ly:=9.460536207ᴇ12;

You have now created two global variables: ly light year in km and AU astronomical unit in km. You can use these variables to calculate for example the value of a light year in AU in this test program :
Code:
EXPORT TEST()
BEGIN
  RETURN(ly/AU);
END;

TY
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)