delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/04/23/12:23:18

Message-Id: <3.0.3.32.19980423122620.0068f068@ns.coba.net>
Date: Thu, 23 Apr 1998 12:26:20 -0400
To: djgpp AT delorie DOT com
From: Daniel Delorme <daniel AT coba DOT net>
Mime-Version: 1.0

I have this problem with SIGFPE...


double DistanceBetweenPoints(strPOINT *Pt1, strPOINT *Pt2)
{
  double Dist;

  Dist = pow(fixtof(Pt1->X - Pt2->X), 2)+
         pow(fixtof(Pt1->X - Pt2->X), 2)+
         pow(fixtof(Pt1->X - Pt2->X), 2);
  Dist = sqrt(Dist);
  printf("Dist = %f\n", Dist);  <----- program crashes here with SIGFPE
}

traceback:
_doprnt+3548
_doprnt+1574
printf+20
DistanceBetweenPoints

and I #included math.h

Why would SIGFPE appear in a mere printf ?
What causes SIGFPE anyway ?
If I remove the printf, I get SIGFPE at "if (Dist1[I] <= Dist2[J])"
  (Dist1[6] and Dist2[6] are float)



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019