The Museum of HP Calculators

HP Forum Archive 13

[ Return to Index | Top of Index ]

Luis Viera where are you?
Message #1 Posted by Charles L on 2 Oct 2003, 6:44 p.m.

Hi Luis,

I think a few months back you countered me with a shorter 32sii program for computing the cross product of two vectors. My original was VERY long and actually stored the results as variables (!!) hahaa. Well, I was fooling around and I realized a shorter, albeit harder for the user to input code would be:

LBL V INP A INP E X INP D INP B X - INP C RCL XD INP F RCL XA - RCL B RCL XF RCL E RCL XC - RTN

When executing, it prompts you for the components out of order, so you'd have to adhere to <A,B,C>x<D,E,F>. It's 17.4% on memory though (28.5 vs. 34.5) :)

Please, before tearing me apart, know that I am extremely amateur at programming, but it is very fun :) cl

      
I "heard" my name...
Message #2 Posted by Vieira, Luiz C. (Brazil) on 3 Oct 2003, 1:02 a.m.,
in response to message #1 by Charles L

Hello, Charles;

Thank you for asking; I'm "about" here...

I'm absolutely running out of time, I'm teaching more classes than I thought I'd be required to, and time is "slicking through my fingers..." I'm finding a way to handle it so far.

About your program:

V01 LBL V
V02 INP A
V03 INP E
V04 
V05 INP D
V06 INP B
V07 
V08 -
V09 INP C
V10 RCL D
V11 INP F
V12 RCL A
V13 -
V14 RCL B
V15 RCL F
V16 RCL E
V17 RCL C
V18 -
V19 RTN

I remember reading, but I am almost sure someone else wrote a shorter version for the HP32SII. I remember that many complex routines were suggested for a complex [ENTER], but I do not recall showing a shorter cross-product solution. In any way, yours is a clever way to reduce memory requirements. I'd try a program where A, B and C are entered in sequence (A [ENTER] B [ENTER] C) prior to execute it; right after storing them, the program would stop again so you'd enter C, D and E the same way you entered A, B and C. Maybe this program would not use registers C, D and E, but it would be bigger in order to handle all data in a different way. Something like:

V01 LBL V
V02 STO C
V03 Rv (roll-down)
V04 STO B
V05 x<>y
V06 STO A
V07 STOP
V08 ...

It's easy to see it's gonna need more memory than yours. Also, as it would be necessary to press [ENTER] between entries, you'll just use [R/S] as well. As I mentioned, yours is a clever solution, I think. And if this program is, as you call it, an amateur's version, I wonder what will you be doing soon with your 32SII! "Keep on doing the good job", I'd say!

Thank you for your remind, but I am almost sure the shorter program from your first version was another contributor's contribution.

Best regards. (it's 2:00 A.M in Brazil right now... See yah later |^0 zzz... )

Luiz (Brazil)

Edited: 3 Oct 2003, 1:12 a.m.

            
Re: I "heard" my name...
Message #3 Posted by Iqbal on 3 Oct 2003, 5:15 a.m.,
in response to message #2 by Vieira, Luiz C. (Brazil)

Hey luiz I was wondering where you were. Glad everything is OK.

            
Re: I "heard" my name...
Message #4 Posted by Charles L on 3 Oct 2003, 2:50 p.m.,
in response to message #2 by Vieira, Luiz C. (Brazil)

Great to see you on here again :)

Yes, your idea of calling the stack for the first 3 components had struck me shortly after I submitted my pgrm to the museum. That has my attention now, and I'm also thinking of merging two or three 'vector' type computation programs into one to reduce the need for repetitive memory wasted on 'input A...B..C'. It really is fun to try to squeeze a few extra bytes here and there :)

Good luck with the classes!

cl


[ Return to Index | Top of Index ]

Go back to the main exhibit hall