From 2295cbeb96fb2a29eba66f3357278e846f9ecc47 Mon Sep 17 00:00:00 2001 From: Prashant Khoje Date: Mon, 13 Jun 2022 23:18:20 -0500 Subject: [PATCH] Fix the floating point failures seen on ppc64le Fixes test failures: - TestClosestEdgeQueryTrueDistanceLessThanChordAngleDistance (#88) - TestPointMeasuresPointArea (#87) - TestPredicatesRobustSignEqualities (#86) --- r3/vector.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/r3/vector.go b/r3/vector.go index ccda622..208c573 100644 --- a/r3/vector.go +++ b/r3/vector.go @@ -68,14 +68,14 @@ func (v Vector) Sub(ov Vector) Vector { return Vector{v.X - ov.X, v.Y - ov.Y, v. func (v Vector) Mul(m float64) Vector { return Vector{m * v.X, m * v.Y, m * v.Z} } // Dot returns the standard dot product of v and ov. -func (v Vector) Dot(ov Vector) float64 { return v.X*ov.X + v.Y*ov.Y + v.Z*ov.Z } +func (v Vector) Dot(ov Vector) float64 { return float64(v.X*ov.X) + float64(v.Y*ov.Y) + float64(v.Z*ov.Z) } // Cross returns the standard cross product of v and ov. func (v Vector) Cross(ov Vector) Vector { return Vector{ - v.Y*ov.Z - v.Z*ov.Y, - v.Z*ov.X - v.X*ov.Z, - v.X*ov.Y - v.Y*ov.X, + float64(v.Y*ov.Z) - float64(v.Z*ov.Y), + float64(v.Z*ov.X) - float64(v.X*ov.Z), + float64(v.X*ov.Y) - float64(v.Y*ov.X), } }