[comp.sys.amiga] Problems with trig functions and SDB

ken@umbc3.UMD.EDU (Ken Spagnolo ) (03/19/88)

(I'm waiting for .tech to become official too.)

I hope these haven't been mentioned...

Anyone know the story with the trig functions?  (Jim?)  sin and cos work
just fine.  cotan and atan2 come up as undefined, even though the manual says
that all trig functions are in math.h.  asin and acos don't work at all.
If the radian value passed to them is within their range, you get back garbage.
If it is not in their range, errno (from errno.h) should be set to EDOM or
ERANGE, but it never changes from 0.  Has any one come across this problem?
The manual also states that the range for input to acos is 0 to pi.  Shouldn't
that be -1 to 1?

As for SDB, I can't seem to print floats or doubles.  Lets say you have a 
float f=1.1 and a double d=2.2.  pf f prints out -3.1554709e-31 and pF d gives
-5.149120961148757e-247.  If you try it with a specified mantissa you get:
'double = X.000000000' where X is the length of the desired mantissa in either
of the following - p X.f f  or  p X.F d.  I also tried things like pX.F d
(notice no space) but just got X double garbage numbers separated by commas.

I give, what's the answer?   Thanx all.

Ken Spagnolo
ken@umbc3.umd.edu
uunet!umbc3!ken

scott@applix.UUCP (Scott Evernden) (03/20/88)

In article <885@umbc3.UMD.EDU> ken@umbc3.UMD.EDU (Ken Spagnolo ) writes:
>Anyone know the story with the trig functions?
	Try using one of the mt.libs;
	they contain the trancendental functions.

>As for SDB, I can't seem to print floats or doubles.
	SDB wants you to compile for IEEE format.
	Thats cc +fi ..., and ln ... -lma ...

-scott

carlos@io.UUCP (Carlos Smith) (03/24/88)

In article <885@umbc3.UMD.EDU> ken@umbc3.UMD.EDU (Ken Spagnolo ) writes:
>As for SDB, I can't seem to print floats or doubles.

>I give, what's the answer?   Thanx all.
>
>Ken Spagnolo
>ken@umbc3.umd.edu
>uunet!umbc3!ken

SDB does not understand the Motorola Fast Floating Point format. I called Manx
Technical support about this problem, and it is known to them. They told me
that it is supposed to recognize the floating point format used, but that this
is not working. A fix is in the works, but when? I will post something when I
find out.

Meanwhile, I have been linking with the IEEE floating point libraries, which
SDB does understand. It is amazing how much slower they are than the FFP 
libraries. I have not experienced any of the problems with trig functions
that you report with either the FFP nor the IEEE libraries, though I have
only used sin, cos and acos. Try linking with the IEEE libraries until you are
done debugging, and then switch to the FFP libraries. This may solve some of
your other problems as well.

On the plus side, SDB is a WONDERFUL tool. Everyone should send Jim Goodnow
money for writing it, and porting it to the Amiga. It is great to be able to
just print screen structures, etc. Terrific for browsing system structures.

A question of my own about the math libraries. Does anyone know how to use
the mathtrans library? When I link with it, I get the message "No
transcendental library" or such, even if I explicitly do an openlibrary
for MathTransBase. Supposedly they are much faster than the standard IEEE
libraries. The basic arithmetic functions work, but no trig functions. I will
ask Manx about this next time I call their support line.

				Carlos
-- 
			Carlos Smith
! new address!  -->	uucp:...!mit-eddie!ileaf!carlos
			Bix:	carlosmith