Mercurial > octave
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