|Re: WP 34S: missing vector cross product|
Message #4 Posted by fhub on 23 July 2011, 7:18 a.m.,
in response to message #3 by Paul Dale
I must say that writing this cross product was really a nightmare:
taking care of where all those stack values are moves during the calculation, avoiding stack overflows and finally fulfilling your conditions about storing the 2nd vector to L,I,J (and keeping the 1st one on the stack) increased the number of my grey hairs. ;-)
And with all these troubles I had an idea which would greatly simplify such calculations (with so many parameters on the stack):
What about having a 2nd copy of the 8 stack registers?
One command could duplicate the original stack into this 2nd copy, and then you could just do all calculations with these '2nd-stack' registers on the usual stack: since the order (and naming) of the 2nd-stack won't change, it would be much easier to adress the stackregister names.
Maybe this 2nd stack registers could be named with a dot preceding the names (.X, .Y, .... .C, .D) and adressed with the sequence RCL XEQ (because XEQ is almost the only key which is still free to use after a STO/RCL), which would then display "RCL .__" and wait for any stackregister name (X to D).
Of course this should also work with STO XEQ, and there should be 2 commands to copy (or backup) the normal stack to this 2nd stack and vice versa (maybe STO STO and RCL RCL).
Well, just a dream of me - but it would indeed make programming much easier ...
PS: I know this could be done with the usual registers Rxx (and STOS), but I also know that you don't like changing any registers during 'usual' calculations within a program.
Edited: 23 July 2011, 7:22 a.m.