HP Forums
[42S] MANT Challenge - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: General Forum (/forum-4.html)
+--- Thread: [42S] MANT Challenge (/thread-490.html)

Pages: 1 2


RE: [42S] MANT Challenge - walter b - 01-23-2014 12:07 PM

(01-23-2014 11:05 AM)Gerson W. Barbosa Wrote:  I think I'll stick to the WP 34S and use MANT instead :-)

I share your feelings and appreciate your decision.

d;-)


RE: [42S] MANT Challenge - Dieter - 01-23-2014 03:15 PM

(01-23-2014 11:05 AM)Gerson W. Barbosa Wrote:  
(01-23-2014 11:02 AM)Werner Wrote:  Hi Gerson!
Fails for 1 e-499, I'm afraid
So does the HP-15C version for 1e-99...

Yes, that's why my previous version handles these cases separately. However, this can be done more elegantly, even shorter and without an explicit constant (-499 resp. -99), so it should work on the 42s as well as on the 15C and many other HPs.

Code:
01 ABS
02 1
03 0
04 X<Y?
05 1/x
06 *
07 ENTER
08 X≠0?
09 LOG
10 INT    ' or IP on later models
11 10^x
12 /
13 1
14 X>Y?
15 10^x
16 *

All input values are shifted by one magnitude towards 10, so that over-/underflow can not occur.

Dieter


RE: [42S] MANT Challenge - Gerson W. Barbosa - 01-23-2014 06:07 PM

(01-23-2014 03:15 PM)Dieter Wrote:  
(01-23-2014 11:05 AM)Gerson W. Barbosa Wrote:  So does the HP-15C version for 1e-99...

Yes, that's why my previous version handles these cases separately. However, this can be done more elegantly, even shorter and without an explicit constant (-499 resp. -99), so it should work on the 42s as well as on the 15C and many other HPs.

Code:
01 ABS
02 1
03 0
04 X<Y?
05 1/x
06 *
07 ENTER
08 X≠0?
09 LOG
10 INT    ' or IP on later models
11 10^x
12 /
13 1
14 X>Y?
15 10^x
16 *

All input values are shifted by one magnitude towards 10, so that over-/underflow can not occur.

Dieter
Also, this preserves most of the stack (only T is lost). Very nice!

Gerson.


RE: [42S] MANT Challenge - Dieter - 01-23-2014 08:19 PM

(01-22-2014 09:40 AM)Werner Wrote:  On the 41, you can use Synthetic Programming to come up with a short and efficient routine that returns the mantissa.

The 42s problem has been solved, but I have to admit that my skills in Synthetic Programming are more than limited (or less than, if you prefer). Would you mind posting such a short and efficient synthetic MANT routine for the 41-series?

Dieter


RE: [42S] MANT Challenge - Werner - 01-23-2014 09:06 PM

The MT routine as listed on page 339 of the PPC ROM manual, which is included in the MoHPC CDs/DVD:

29 LBL "MT"
30 CLA
31 STO M
32 ASTO M
33 INT
34 X!=0?
35 (Append x'00')
36 X=0?
37 (Append x'A0')
38 CLX
39 ST+ M
40 X<> M
41 RTN

Btw your latest code is almost the same as the one I posted before ;-)


RE: [42S] MANT Challenge - Dieter - 01-23-2014 09:53 PM

(01-23-2014 09:06 PM)Werner Wrote:  The MT routine as listed on page 339 of the PPC ROM manual, which is included in the MoHPC CDs/DVD:

Thank you.

(01-23-2014 09:06 PM)Werner Wrote:  Btw your latest code is almost the same as the one I posted before ;-)

Well, you will know that German proverb: Zwei Dumme, ein Gedanke! ;-))

Dieter


RE: [42S] MANT Challenge - Gerson W. Barbosa - 01-24-2014 12:06 AM

(01-23-2014 09:53 PM)Dieter Wrote:  
(01-23-2014 09:06 PM)Werner Wrote:  Btw your latest code is almost the same as the one I posted before ;-)

Well, you will know that German proverb: Zwei Dumme, ein Gedanke! ;-))

Dieter

Please allow me to offer a translation:

Great minds think alike!


RE: [42S] MANT Challenge - Werner - 01-24-2014 06:16 AM

It sounds better in English than in German ;-)


RE: [42S] MANT Challenge - walter b - 01-24-2014 08:15 AM

(01-24-2014 12:06 AM)Gerson W. Barbosa Wrote:  
(01-23-2014 09:53 PM)Dieter Wrote:  Well, you will know that German proverb: Zwei Dumme, ein Gedanke! ;-))

Dieter

Please allow me to offer a translation:

Great minds think alike!

Almost, Gerson, almost!

d;-)


RE: [42S] MANT Challenge - Gerson W. Barbosa - 01-24-2014 09:15 AM

(01-24-2014 06:16 AM)Werner Wrote:  It sounds better in English than in German ;-)

I know, that's why I should be working at the UN Interpretation Service :-)