Question about Stack and Roll
|
07-01-2016, 02:03 PM
Post: #1
|
|||
|
|||
Question about Stack and Roll
Hi all.
I have a question for the RPN experts. To refresh my RPN skills, I am re-reading the original manual of the HP-15C, the Owner's Handbook. I dont' have the original HP-15C, but several Android emulators. The question is this: Page 34 of the manual reports the simple example that fills the four registers with the digits 1, 2, 3 and 4. The normal method is obviously: 1) 1 2) Enter 3) 2 4) Enter 5) 3 6) Enter 7) 4 At this point, with the Roll Down key is possible to inspect and verify the contents of the registers. My problem is that if I use Roll Down to inspect the register contents after each Enter of the previous sequence (returning each time to the X register) I found at the end that the registers are filled with the sequence: T: 2.0000 Z: 3.0000 Y: 3.0000 X: 4.0000 This surprises me, because I was expecting the sequence 1, 2, 3, 4. Probably I am missing some subtlety of the RPN Roll behaviuor, could you please help me to understand what happens? Thanks. |
|||
07-01-2016, 02:53 PM
Post: #2
|
|||
|
|||
Must be a bad emulator
The behavior of that emulator is flawed. When using a physical HP-15C, it produces the expected result. On my iPhone, the Free 15C acts the same way as the real HP calculator does.
Alan |
|||
07-01-2016, 03:16 PM
(This post was last modified: 07-01-2016 03:17 PM by wojtek.)
Post: #3
|
|||
|
|||
RE: Question about Stack and Roll
(07-01-2016 02:03 PM)Antlab Wrote: Hi all. It is correct (if you press Roll Down after each Enter). I believe all HP rpn calculators behave the same way. Make a quick test and clear the stack (press "clear" and Enter 4 times) then press: 1, Enter , 2. You will get the stack with: 0,0,1,2 (from T to X). But if you press Enter after 2 as well and then will inspect the stack it will contain: 0,1,2,2 (withs X register duplicated in Y). This is because of convention applied by HP that Enter moves up the stack and sets some flag what makes the next number entered replace the duplicated X register. If you press Roll down the flag is cleared and the duplicated value remains in X and Y registers |
|||
07-01-2016, 03:27 PM
Post: #4
|
|||
|
|||
Expected behavior would not drop the 1 from the stack
wojtek, I think you misunderstand that Antlab said the '1' was missing from the stack.
(07-01-2016 03:16 PM)wojtek Wrote:(07-01-2016 02:03 PM)Antlab Wrote: ... the registers are filled with the sequence: |
|||
07-01-2016, 03:38 PM
Post: #5
|
|||
|
|||
RE: Question about Stack and Roll | |||
07-01-2016, 04:05 PM
Post: #6
|
|||
|
|||
RE: Question about Stack and Roll
(07-01-2016 02:03 PM)Antlab Wrote: This surprises me, because I was expecting the sequence 1, 2, 3, 4. The behaviour you should have IMHO is ... with data entry then with a bunch of roll down Code: Key X Y Z T L StackLocked with data entry mixed with roll down Code: Key X Y Z T L StackLocked Sylvain |
|||
07-01-2016, 04:20 PM
Post: #7
|
|||
|
|||
RE: Question about Stack and Roll
Sylvain, you have forgotten Enter after each number in the second example!
I have missed in turn that Antlab pressed Roll down 4 times after each Enter |
|||
07-01-2016, 06:18 PM
(This post was last modified: 07-01-2016 11:19 PM by Sylvain Cote.)
Post: #8
|
|||
|
|||
RE: Question about Stack and Roll
(07-01-2016 04:20 PM)wojtek Wrote: Sylvain, you have forgotten Enter after each number in the second example! You are right, but still, I suspect that Antlab did not do exactly what he says he did because I do not have the same result here Code: Key X Y Z T L StackLocked Best regards, Sylvain edit: copy/paste error, corrected |
|||
07-01-2016, 06:38 PM
Post: #9
|
|||
|
|||
RE: Question about Stack and Roll
(07-01-2016 06:18 PM)Sylvain Cote Wrote: You are right, but still, I suspect that Antlab did not do exactly what he says he did because I do not have the same result here Yes, that's possible. It is very easy to make a mistake, for example press Roll down once more or once less instead of 4 times assumed |
|||
07-01-2016, 07:07 PM
Post: #10
|
|||
|
|||
RE: Question about Stack and Roll
Thanks a lot.
If I understand correctly, the answer to my doubt is explained by the effects of the flag created by pressing Enter and removed by pressing Roll Down, as Wojtek illustrated. I did not know about the flag, this makes sense now. Actually, Sylvain, also your example is helpful. I think you obtain a slightly different result because I did not press Enter after inserting the final digit, 4. I will make some further tests, but I am glad I asked here, because in the manual the question of the flag was not clearly explained. |
|||
07-01-2016, 07:33 PM
(This post was last modified: 07-01-2016 07:44 PM by Guenter Schink.)
Post: #11
|
|||
|
|||
RE: Question about Stack and Roll
(07-01-2016 02:03 PM)Antlab Wrote: Hi all. It's the same on the real 15c. When you enter "1" "Enter" "Rdn" you'll recognise that at the first "Rdn" the "1" blinks shortly and only the next "Rdn" will show another value. If you don't enter other values rather than continue pushing "Rdn" you'll see that "1" is twice on the stack. And this happens consequently as you continue to enter the numbers 2,3,and 4 this way. The two "1s" and one of the duplicate "2s" are pushed from the stack, leaving one remaining "2", the two "3s" and finally the "4". Page 33 of the manual. "enter"copies the number in the display to the y-register and prepares the x-register (display) for another input. But when you don't enter a number but execute a function (e.g. sin, ln) this will be done on the x-register. "Rdn" also is such a function, therefore you end up with the y and x-register having the same content and actually the "Rdn" didn't do a roll down yet. HTH, Günter Edit: have a look at appendix B "Stack lift ..." |
|||
07-02-2016, 04:52 PM
Post: #12
|
|||
|
|||
RE: Question about Stack and Roll
Hi Guenter,
thanks for the further explanation. Following your suggestion, I also checked the Appendix B of the manual. The problem, in my opinion, is that the precise behaviour of the Roll function is not well described. For this reason I am happy I asked here in the forum, now I have a clear answer to my original doubt. |
|||
07-02-2016, 06:24 PM
(This post was last modified: 07-02-2016 06:25 PM by Guenter Schink.)
Post: #13
|
|||
|
|||
RE: Question about Stack and Roll
(07-02-2016 04:52 PM)Antlab Wrote: Hi Guenter, Yes perhaps it could be explained better. But if you look at the top of page 210, you'll read that there are only 4 "Stack disabling functions". Further, on page 211 neutral operations are listed with their specific behaviour described. "Rdn" isn't on either list, so... Günter |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)