Programming with HP50g
|
08-29-2015, 09:33 AM
Post: #21
|
|||
|
|||
RE: Programming with HP50g
I would like programm different loops (while, if, case, for,...). For these loops I would like to have different little examples/programs. In some cases you can replace one loop ( e.g. while) by (e.g. if) others or vise versa.
Could I find some examples for loop in http://www.hpcalc.org/details.php?id=1771 where on this page and how? If there problems in understanding my request let me know please. I do not know how to explain my problem in a better way. |
|||
08-29-2015, 03:56 PM
Post: #22
|
|||
|
|||
RE: Programming with HP50g
(08-29-2015 09:33 AM)tigger Wrote: I would like programm different loops (while, if, case, for,...). For these loops I would like to have different little examples/programs. In some cases you can replace one loop ( e.g. while) by (e.g. if) others or vise versa. Section 5, starting on page 18 with examples and exercises. |
|||
08-29-2015, 05:31 PM
Post: #23
|
|||
|
|||
RE: Programming with HP50g | |||
08-29-2015, 08:11 PM
(This post was last modified: 08-29-2015 08:49 PM by Allen.)
Post: #24
|
|||
|
|||
RE: Programming with HP50g
(08-07-2015 03:19 PM)rprosperi Wrote:(08-07-2015 10:05 AM)Gerald H Wrote: Try this: I love this document! Thank you to the authors: Joe, Richard and Wlodek!! The bottom of the last page challenges the users to submit a program to calculate \(A^3B-AB^3 \) in 27.5 bytes (7 steps). There are provided three checksums to indicate three possible 27.5 byte approaches. For the interested reader, #D45Bh and #7FE7h (both on 48g) are checksums for two similar 25 byte solutions with only 6 steps each. (not sure if it's faster than the 27.5 byte solutions, but will at least tie one of them, I think). A more complex approach (still 25 bytes and 6 steps) #13CAh based on: \begin{equation} \operatorname{Im} \left( \frac{(A+iB)^4}{4}\right) =A^3B-AB^3 \end{equation} (colorful proof) 17bii | 32s | 32sii | 41c | 41cv | 41cx | 42s | 48g | 48g+ | 48gx | 50g | 30b |
|||
08-30-2015, 05:10 AM
Post: #25
|
|||
|
|||
RE: Programming with HP50g
Well done, Allen, that's the neatest solution I've seen.
|
|||
08-30-2015, 07:24 AM
Post: #26
|
|||
|
|||
RE: Programming with HP50g
(08-29-2015 08:11 PM)Allen Wrote: For the interested reader, #D45Bh and #7FE7h (both on 48g) are checksums for two similar 25 byte solutions with only 6 steps each. (not sure if it's faster than the 27.5 byte solutions, but will at least tie one of them, I think). These make for nice HP-42S solutions: Code:
Code:
|
|||
08-30-2015, 02:02 PM
(This post was last modified: 08-30-2015 02:04 PM by Allen.)
Post: #27
|
|||
|
|||
RE: Programming with HP50g
(08-30-2015 07:24 AM)Gerson W. Barbosa Wrote: These make for nice HP-42S solutions: Gerson, yes, nicely written! Your program LBL A is exactly the approach used by the "less complex" approach on the 48g. I was looking for a way to calculate \(A^3B-AB^3 = AB(A^2-B^2) \) and thought.. wouldn't it be nice if we could make \(B\) imaginary before squaring to save a subtraction. Happily, both \(A^2-B^2 \) and \(AB\) appear in the real and imaginary part of \( z^2=(A+iB)^2 = A^2-B^2 +i2AB \), however it is necessary to halve the product just as you did in Program LBL A: \begin{equation} \frac{\operatorname{Im}(z^2) \operatorname{Re}(z^2)}{2} =A^3B-AB^3 \end{equation} I had explored a way to use the matrix determinant to calculate \begin{equation} \operatorname{det} \begin{bmatrix} A^2 & B^2 \\ AB & AB \end{bmatrix} = A^3B-AB^3 \end{equation} But, alas, the "stack stuff" needed to get A^2, B^2 and AB onto the stack was going to exceed 1 command. Code:
I also found if one expands \(z^n\) in the manner of this solution, it creates a multi-dimensional, multi-variate complex pascal's triangle. The solutions here only deal with a few elements: Image from: "Pascal's triangle 5" by User:Conrad.Irwin originally User:Drini - Extracted from Image:PascalSimetria.svg with minor alterations. Licensed under CC BY-SA 3.0 via Commons - https://commons.wikimedia.org/wiki/File:...ngle_5.svg 17bii | 32s | 32sii | 41c | 41cv | 41cx | 42s | 48g | 48g+ | 48gx | 50g | 30b |
|||
08-30-2015, 03:43 PM
(This post was last modified: 08-30-2015 06:27 PM by Gerson W. Barbosa.)
Post: #28
|
|||
|
|||
RE: Programming with HP50g
(08-30-2015 02:02 PM)Allen Wrote:(08-30-2015 07:24 AM)Gerson W. Barbosa Wrote: These make for nice HP-42S solutions: To Allen what belongs to Allen! The credits are all yours. After posting I realized I had done a small linguistic error. I should have written "Those make for nice HP-42S solutions" as I meant to refer to your original HP-48G solutions, mine being mere ports to the HP-42S. When you presented the more complex solution, I tried to figure out what your less complex one might be. Then the one I found on the HP 50g was 25-byte long but the check-sum was # BEA0h, so I reached for my HP-48GX and verified the checksum was indeed #D45Bh on it. Multiplying by .5 instead of dividing by 2 gave a different checksum than #7FE7h, which means I've found only one of your other solutions. I'd like to know what are the other 7-command 27.5-byte solutions. The pdf gives the initials of the authors and timings only. Regards, Gerson. P.S.: Here's an 11-byte 5-step HP-42S solution: Code:
|
|||
08-31-2015, 12:57 AM
(This post was last modified: 08-31-2015 01:14 AM by Allen.)
Post: #29
|
|||
|
|||
RE: Programming with HP50g
(08-30-2015 03:43 PM)Gerson W. Barbosa Wrote: P.S.: Here's an 11-byte 5-step HP-42S solution: This is a beautiful HP42S implementation,Thank you! I enjoy when a unique perspective and serendipity provide a way to program things smaller because of math tricks- I do not need special credit for that. You asked about checksums? There are several variations on the programs checksums possible based on how the stack is collapsed at the end with the IM, 4 / or 2 / steps ( or multiply by 0.5): \begin{equation} \frac{\operatorname{Im}(z^2) \operatorname{Re}(z^2)}{2} = \operatorname{Im}(z^2) \frac{\operatorname{Re}(z^2)}{2}= \frac{\operatorname{Im}(z^4)}{4} = \operatorname{Im}\left(\frac{z^4}{4}\right) = A^3B-AB^3 \end{equation} I know how the authors arrived at some of the 7-step solutions- mostly through the use of LASTARG and a different factorization of the original polynomial: hints: #79C6h- "asp" (from rjn) #72B5h- "psa" (from jkh) #E090h- "pas" #E8BAh- "sap" 17bii | 32s | 32sii | 41c | 41cv | 41cx | 42s | 48g | 48g+ | 48gx | 50g | 30b |
|||
08-31-2015, 01:13 AM
Post: #30
|
|||
|
|||
RE: Programming with HP50g
(08-29-2015 08:11 PM)Allen Wrote: For the interested reader, #D45Bh and #7FE7h (both on 48g) are checksums for two similar 25 byte solutions with only 6 steps each. (not sure if it's faster than the 27.5 byte solutions, but will at least tie one of them, I think). Apparently the original timings were obtained on an HP 49G in exact mode. If such is the case then your first "less complex" solution is faster than all other four. Original unoptimized program: << DUP 3 ^ ROT DUP 3 ^ ROT ROT * ROT ROT * SWAP - >> 122 ms Your solution: << R->C SQ C->R * 2 / >> 90.8 ms Another 7-command 27.5 byte solution: << DUP2 + LASTARG - * * * > 49.7 ms Significantly faster, but longer. Also, it requires LASTARG (flag -55) to be enabled, which might be a great disadvantage. Gerson. |
|||
08-31-2015, 01:42 AM
(This post was last modified: 08-31-2015 01:45 AM by Gerson W. Barbosa.)
Post: #31
|
|||
|
|||
RE: Programming with HP50g
(08-31-2015 12:57 AM)Allen Wrote: I know how the authors arrived at some of the 7-step solutions- mostly through the use of LASTARG and a different factorization of the original polynomial: Aha! #E090h- "pas" ( #C173h on the HP 49G) matches my previous version using LASTARG: << * LASTARG + LASTARG - * * >> 50.7 ms One problem with LASTARG is that the Last Stack might be disabled sometimes, either intentionally or not. Disabling the Last Stack made sense on the HP-28C, which had only 2 KB RAM, but not on the latest RPL calculators, I think. Gerson. |
|||
08-31-2015, 09:26 AM
Post: #32
|
|||
|
|||
RE: Programming with HP50g
For opening this the Computer expects a keyword of the Administrator.
good program for developing User RPL programs on a PC: http://www.hpcalc.org/details.php?id=6600 Best regards [/quote] |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)