view tests/pointset_test/lshP.m @ 402:58b88ab69424 api-inversion

Move the struct adb definition from the auidioDB_API.h into the audioDB-internals.h header file, leaving only the typedef behind. Thus a user of the API sees only an incomplete type, which cannot be instantiated (but /pointers/ to it can); there's then less temptation to break the abstraction barrier by using structure fields in client code. Not only that, but we can now safely put C++ stuff in the structure. Take advantage of this by putting a std::set<std::string> in there, to hold all the keys currently in the database; populate this field on audiodb_open() (and delete it on audiodb_close). This will be useful when we come to implement variants of audiodb_insert().
author mas01cr
date Wed, 03 Dec 2008 17:40:15 +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