diff scripts/geometry/delaunayn.m @ 7795:df9519e9990c

Handle single precision eps values
author David Bateman <dbateman@free.fr>
date Mon, 12 May 2008 22:57:11 +0200
parents a730e47fda4d
children eb63fbe60fab
line wrap: on
line diff
--- a/scripts/geometry/delaunayn.m	Mon May 12 01:35:30 2008 +0200
+++ b/scripts/geometry/delaunayn.m	Mon May 12 22:57:11 2008 +0200
@@ -54,6 +54,12 @@
 
   t = __delaunayn__ (x, varargin{:});
 
+  if (isa (x, "single"))
+    myeps = eps ("single");
+  else
+    myeps = eps;
+  endif
+
   ## Try to remove the zero volume simplices. The volume of the i-th simplex is
   ## given by abs(det(x(t(i,1:end-1),:)-x(t(i,2:end),:)))/prod(1:n) 
   ## (reference http://en.wikipedia.org/wiki/Simplex). Any simplex with a 
@@ -67,7 +73,7 @@
   [nt, n] = size (t);
   for i = 1:nt
     X = x(t(i,1:end-1),:) - x(t(i,2:end),:);
-    if (abs (det (X)) /  sqrt (sum (X .^ 2, 2)) < 1e3 * eps)
+    if (abs (det (X)) /  sqrt (sum (X .^ 2, 2)) < 1e3 * myeps)
      idx = [idx, i];
     endif
   endfor