view tests/pointset_test/lshP.m @ 522:dad3d252462a multiprobeLSH

Fixed upper-limit (T) boundary error in MultiProbe::generatePerturbationSets(x, T). Setting this too high spins algorithm1 into infinite heap allocations without possiblity of terminating. This is now silently capped at --lsh_k * 2; the algorithm halts up to this threshold.
author mas01mc
date Tue, 27 Jan 2009 14:52:28 +0000
parents 8fcc7c590a0e
children
line wrap: on
line source
function P2 = lshP(w,c,k)
if nargin<3, k=1;end
if nargin<2, c=1;end
if nargin<1, w=4;end

P2 = 1 - 2*normcdf(-w./c) - 2./(sqrt(2*pi)*(w./c)) .* ( 1-exp(-w.^2./(2*c.^2)) );
if(k~=1)
  P2 = P2.^k;
endif
endfunction