Post Reply 
Perform two successive binary operations on same input
02-23-2020, 01:03 AM (This post was last modified: 02-23-2020 07:41 AM by cdmackay.)
Post: #1
Perform two successive binary operations on same input
[this is perhaps a little simplistic to be of interest, but…]

I often want to perform two successive binary operations (i.e. operations with two operands/arguments) on the same input, leaving the two results in the two lower stack levels.

An example might be finding the quotient and remainder (DIV/MOD) of two integers, on calculators that don't have a combined operation such as e.g 41/SandMath QREM, 50g IDIV2, Prime iquorem(). That often requires the first operation to be a binary operation followed by one or more unary operations, e.g. ÷ IP, followed by the second binary operation, e.g. MOD.

My clumsy efforts are as follows; I've not yet considered using STO/RCL methods, which might be useful if stack preserving was a requirement.

This is for interactive use; of course a program could be simpler.

I'd be interested in hearing of quicker/easier/more elegant methods.

RPN (stack not preserved)
Code:
Y ENTER ENTER X ENTER
R↓ x<>y R↓
<first binary operation>
<successive unary operations>
ENTER R↓ R↓                    # dup first result to Z
<second binary operation>

if the RPN example has just a single first binary operation, with no successive unary operations, it's much simpler:

RPN (stack not preserved)
Code:
Y ENTER ENTER X
<first binary operation>
x<>y
LASTX
<second binary operation>


RPL (uses stack levels 1–4)
Code:
Y X DUP2
<first binary operation>
<successive unary operations>
3 ROLLD                        # move first result to level 3; alt: ROT ROT
<second binary operation>

if the RPL example has just a single first binary operation, with no successive unary operations, it's much simpler:

RPL (uses stack levels 1–4)
Code:
Y X
<first binary operation>
LASTARG
<second binary operation>

Cambridge, UK
41CL/DM41X 12/15C/16C DM15/16 17B/II/II+ 28S 42S/DM42 32SII 48GX 50g 35s WP34S PrimeG2 WP43S/pilot
Casio, Rockwell 18R
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Perform two successive binary operations on same input - cdmackay - 02-23-2020 01:03 AM



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