úÎ#¼  <Test if p3 is within the closed interval specified by [p1,p2] Intersect two line segments `Counter-clockwise orientation test. Classifies p3 in relation to the line formed by p1 and p2. *Result: LT=Right, GT=Left, EQ=Coincident lTest the relation of a point to the circle formed by (p1..p3). (p1..p3) must be in counterclockwise order. *Result: GT=inside, EQ=border, LT=outside. .Note: this is the sum of 192 multiplications. <Compute the exact sign of the sum of the input sequence.  It is the caller'Rs responsibility to ensure that the inputs have not suffered a loss of precision. 6Split a 53 bit double into two 26 bit halves so that: - let (lo,hi) = splitDouble x in x == lo + hi  :The trick is that the sign is used as the additional bit. `Note that the multiplication of two 26-bit floating point numbers is exact in double precision. If you'wre new to this function you may want to read paper (5), as using this function properly may be trickier than it seems.  <Test if p3 is within the closed interval specified by [p1,p2] `Counter-clockwise orientation test. Classifies p3 in relation to the line formed by p1 and p2. - Result: LT=Right, GT=Left, EQ=Coincident lTest the relation of a point to the circle formed by (p1..p3). (p1..p3) must be in counterclockwise order. , Result: GT=inside, EQ=border, LT=outside      GeomPredicates-SSE-0.2!Numeric.Geometric.Predicates.ESSA%Numeric.Geometric.Predicates.Interval cinttESSAintersectESSA_SS2DccwESSA incircleESSAessa splitDoublecinttSSEccwSSE incircleSSE essa_double split_double cintt_essaintersect2D_essa incircle_essaccw_essacast castVector doubleESSAcintt_d incircle_dccw_d cinttSSE_FccwSSE_F incircleSSE_F cinttSSE_D incircleSSE_DccwSSE_D