You just need some comparison which determines if they are very close
to equal. You can't expect them to be exactly equal in all 64 bits.
Something like this should be fine:

bool isClose(double a, double b)
{
  const double epsilon = 1.0000001;
  return (a < b*epsilon) && (b < a*epsilon);
}

(Note that this assumes positive values.)

Don

On Jul 29, 1:21 pm, prashant bhutani <prashantbhutani2...@gmail.com>
wrote:
> Yeah, the comparison of two floats will be a problem as the behaviour is
> undefined and depends on the machine architecture and compiler.
>
> Thanks & Regards,
> Prashant Bhutani
> Senior Undergraduate
> Computer Science & Engineering (B.Tech)
> Institute of Technology - BHU (IT-BHU)
> Varanasi-221005
>
> On Fri, Jul 29, 2011 at 11:43 PM, tech rascal <techrascal...@gmail.com>wrote:
>
> > area of 3 triangles being formed by joining the point to 3 vertices can be
> > float n when we add the 3 areas, the sum wud also be float. and this is to b
> > compared with original area
> > don't u think the problem wud arise in comparing the floats?
> > wud that give right ans??
>
> > On Fri, Jul 29, 2011 at 9:06 PM, Don <dondod...@gmail.com> wrote:
>
> >> That should work, but I'd bet that my method is faster.
> >> Don
>
> >> On Jul 29, 6:02 am, Udit Gupta <uditgupta...@gmail.com> wrote:
> >> > Join the given point with all the vertices of the triangle and calculate
> >> the
> >> > area of each of the three sub-triangles thus formed
> >> > now compare the area of original triangle with the sum of the area of
> >> those
> >> > 3 triangles
> >> > if that comes out to be equal, then the point lies inside
> >> > otherwise not.
>
> >> > On Fri, Jul 29, 2011 at 1:34 AM, Don <dondod...@gmail.com> wrote:
> >> > > // True if point (x,y) is above line defined by two points
> >> > > // If line is vertical, "above" is defined as to the right
> >> > > bool above(double lx1, double ly1, double lx2, double ly2, double x,
> >> > > double y)
> >> > > {
> >> > >    return (lx1 != lx2) ? (y > (ly1+(x-lx1)*(ly2-ly1)/(lx2-lx1))) : (x
> >> > > > lx1);
> >> > > }
>
> >> > > // True if point 1 and point 2 are on the same side of the line
> >> > > defined by l1 and l2
> >> > > bool sameSide(double lx1, double ly1, double lx2, double ly2, double
> >> > > px1, double py1, double px2, double py2)
> >> > > {
> >> > >    return above(lx1, ly1, lx2, ly2, px1, py1) == above(lx1, ly1, lx2,
> >> > > ly2, px2, py2);
> >> > > }
>
> >> > > // True if point (x,y) is inside triangle
> >> > > bool pointInTriangle(double x1, double y1, double x2, double y2,
> >> > > double x3, double y3, double x, double y)
> >> > > {
> >> > >    return sameSide(x1,y1,x2,y2,x,y,x3,y3) &&
> >> > >           sameSide(x1,y1,x3,y3,x,y,x2,y2) &&
> >> > >           sameSide(x2,y2,x3,y3,x,y,x1,y1);
> >> > > }
>
> >> > > --
> >> > > You received this message because you are subscribed to the Google
> >> Groups
> >> > > "Algorithm Geeks" group.
> >> > > To post to this group, send email to algogeeks@googlegroups.com.
> >> > > To unsubscribe from this group, send email to
> >> > > algogeeks+unsubscr...@googlegroups.com.
> >> > > For more options, visit this group at
> >> > >http://groups.google.com/group/algogeeks?hl=en.
>
> >> --
> >> You received this message because you are subscribed to the Google Groups
> >> "Algorithm Geeks" group.
> >> To post to this group, send email to algogeeks@googlegroups.com.
> >> To unsubscribe from this group, send email to
> >> algogeeks+unsubscr...@googlegroups.com.
> >> For more options, visit this group at
> >>http://groups.google.com/group/algogeeks?hl=en.
>
> >  --
> > You received this message because you are subscribed to the Google Groups
> > "Algorithm Geeks" group.
> > To post to this group, send email to algogeeks@googlegroups.com.
> > To unsubscribe from this group, send email to
> > algogeeks+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/algogeeks?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to