05-22-2014, 05:36 AM

05-22-2014, 06:10 AM

From the code I'd say: ( y mat -> r )

Where mat is a matrix descriptor and y is the element you search.

Cheers

Thomas

Where mat is a matrix descriptor and y is the element you search.

Cheers

Thomas

Code:

`/* Find a specified element in a matrix`

*/

LBL'MFD'

ABS

M-ALL

x[<->] Y

m_find_loop:: x=?[->]Y

JMP m_found

ISG Y

JMP m_find_loop

m_found:: DROP

RTN

05-22-2014, 06:51 AM

To post #2:

Thank you.

I don't understand r.

For 5,6,7,8 stored in registers 20 to 23

stack y: 55 x: 20.0401 returns 24.02301

and

stack y: 7 x: 20.0401 returns 22.02301

Presumably the second result indicates "found"? How should this result be interpreted?

Thank you.

I don't understand r.

For 5,6,7,8 stored in registers 20 to 23

stack y: 55 x: 20.0401 returns 24.02301

and

stack y: 7 x: 20.0401 returns 22.02301

Presumably the second result indicates "found"? How should this result be interpreted?

05-22-2014, 07:10 AM

You probably want the index of the element. The matrix descriptor is still in the last x register. Therefore you can use:

For 7 you get (x, y) = (3, 1). For 55 you get an Error: Out of range.

Code:

`RCL L`

M.IJ

05-22-2014, 07:33 AM

To post #4:

Thank you & yes that is the info I needed.

Will now get to work on Shanks SQFF.

Thank you & yes that is the info I needed.

Will now get to work on Shanks SQFF.