dmcoles / EVO

E-VO Amiga E Compiler
45 stars 5 forks source link

Case sensitivity in double precision module #4

Closed SamuraiCrow closed 1 year ago

SamuraiCrow commented 1 year ago

When trying to compile EEC on MorphOS, I ran into a function called IeeeDPFieee used to convert single precision to double. It didn't compile correctly with E-VO v3.6.0 because I listed it in ShowModule as IeEEDPFieee. The third and fourth character of all of the calls in the library need to be lowercase. Could this have something to do with the FD files for OS3.x not matching?

SamuraiCrow commented 1 year ago

Update

This affects single precision also. Trans and Bas variants of both.

(It was the only conflict when building EEC on MorphOS. Changing the case of those 2 Es fixed everything.)

dmcoles commented 1 year ago

I fixed this once before, so I need to check why this has reverted

SamuraiCrow commented 1 year ago

Are you using the .fd files from 3.2? I've heard they're problematic.

dmcoles commented 1 year ago

ShowModule v1.12 (c) 1992 $#%! Update by grio 2001 (4 Kick V36) and by Darren Coles 2022 for E-vo now showing: "dh0:source/evo/release/modules/mathieeedoubtrans.m" NOTE: don't use this output in your code, use the module instead.

LIBRARY mathieeedoubtransbase / informal notation / IeeeDPAtan(D0,D1) / -30 (1E) / IeeeDPSin(D0,D1) / -36 (24) / IeeeDPCos(D0,D1) / -42 (2A) / IeeeDPTan(D0,D1) / -48 (30) / IeeeDPSincos(A0,D0,D1) / -54 (36) / IeeeDPSinh(D0,D1) / -60 (3C) / IeeeDPCosh(D0,D1) / -66 (42) / IeeeDPTanh(D0,D1) / -72 (48) / IeeeDPExp(D0,D1) / -78 (4E) / IeeeDPLog(D0,D1) / -84 (54) / IeeeDPPow(D2,D3,D0,D1) / -90 (5A) / IeeeDPSqrt(D0,D1) / -96 (60) / IeeeDPTieee(D0,D1) / -102 (66) / IeeeDPFieee(D0) / -108 (6C) / IeeeDPAsin(D0,D1) / -114 (72) / IeeeDPAcos(D0,D1) / -120 (78) / IeeeDPLog10(D0,D1) / -126 (7E) / ENDLIBRARY

this is from the 3.6.0 modules and it looks right to me

SamuraiCrow commented 1 year ago

The archive on my MorphOS box was from Aminet. I'll check the archive. I may have used an older emodules: assign.

SamuraiCrow commented 1 year ago

All but two functions fixed:

ShowModule v1.13 (c) 1992 $#%!
Update by grio 2001 (4 Kick V36)
and by Darren Coles 2022 for E-vo
now showing: "system:development/gg/usr/modules/mathieeedoubbas.m"
NOTE: don't use this output in your code, use the module instead.
LIBRARY mathieeedoubbasbase         /* informal notation */
  IeeeDPFix(D0,D1)     /* -30 (1E) */
  IeeeDPFlt(D0)     /* -36 (24) */
  IeeeDPCmp(D0,D1,D2,D3)     /* -42 (2A) */
  IeeeDPTst(D0,D1)     /* -48 (30) */
  IeeeDPAbs(D0,D1)     /* -54 (36) */
  IeeeDPNeg(D0,D1)     /* -60 (3C) */
  IeeeDPAdd(D0,D1,D2,D3)     /* -66 (42) */
  IeeeDPSub(D0,D1,D2,D3)     /* -72 (48) */
  IeeeDPMul(D0,D1,D2,D3)     /* -78 (4E) */
  IeeeDPDiv(D0,D1,D2,D3)     /* -84 (54) */
  IeEEDPFloor(D0,D1)     /* -90 (5A) */
  IeEEDPCeil(D0,D1)     /* -96 (60) */
ENDLIBRARY

Floor and Ceil are still wrong.

dmcoles commented 1 year ago

yes i notice that earlier and have pushed a commit today that fixes those.

eea0142fc083a90d77f8532eb65973c99fb425a8