Fwd: Floating point math in FORTRAN IV on PDP-8
I sent this over to cctalk and haven't found a taker to try out my FORTRAN code on another PDP-8 yet. Might any of you be able to try this out? At VCF MW this past weekend, I was playing around with an FPP8/A stuffed into a PDP-8/M with a fan removed. This hex-wide two-board set will happily work in a quad-wide backplane, as it needs no signals that an 8/A would otherwise provide. I wanted to benchmark the FPP8/A with the software emulation that FORTRAN IV supposedly does. Mind you, I also don't have an EAE in mine, so software emulation for integer multiplication/division would also be used. I tried running a simple program to print some natural logs and square roots, which ran quite well with the FPP8/A in place. Without the FPP8/A...all of the results were wrong. Significantly. Negative numbers in many cases. No clear pattern as to what it's doing. Would anyone be able to try my program on some other real hardware (or another emulator) to verify? With and without EAE would also be desirable. I'm not sure how to disable the EAE in SIMH, else I'd try that too. Here's what SIMH looks like with my program: PDP-8 simulator V4.0-0 Current git commit id: d35b8725 sim> at rk0 disk2.fortran.rk05 sim> b rk .TYPE FLOAT.FT DO 50 I=1,100 F = FLOAT(I) G = SQRT(F) H = ALOG(F) WRITE(4,100) F,G,H 50 CONTINUE 100 FORMAT(' ',F12.6,F12.6,F12.6) END .R F4 *FLOAT/G$ 1.000002 1.000002 0.000000 2.000002 1.414215 0.693147 3.000002 1.732053 1.098614 4.000002 2.000002 1.386296 5.000002 2.236070 1.609439 [snip] 98.000001 9.899495 4.584968 99.000000 9.949874 4.595121 100.000023 10.000008 4.605171 . Much appreciated, Kyle
On Sat, Sep 22, 2018 at 10:40:34AM -0500, Kyle Owen via vcf-midatlantic wrote:
I sent this over to cctalk and haven't found a taker to try out my FORTRAN code on another PDP-8 yet. Might any of you be able to try this out?
Should be able to next week if nobody else does first.
I tried running a simple program to print some natural logs and square roots, which ran quite well with the FPP8/A in place.
Without the FPP8/A...all of the results were wrong. Significantly. Negative numbers in many cases. No clear pattern as to what it's doing.
Are you are recompiling each time and not using a save file? The save file is only valid for the configuration it was built on.
Would anyone be able to try my program on some other real hardware (or another emulator) to verify? With and without EAE would also be desirable. I'm not sure how to disable the EAE in SIMH, else I'd try that too.
set cpu noeae
participants (2)
-
David Gesswein -
Kyle Owen