Added a missing check for division by zero.

--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%403306
This commit is contained in:
Davis King 2009-12-05 19:07:20 +00:00
parent 09606b95d5
commit 140243f275
1 changed files with 13 additions and 9 deletions

View File

@ -94,17 +94,21 @@ namespace dlib
const scalar_type kx = kern(x,x);
if (alpha.size() == 0)
{
// set initial state since this is the first training example we have seen
// just ignore this sample if it is the zero vector (or really close to being zero)
if (std::abs(kx) > std::numeric_limits<scalar_type>::epsilon())
{
// set initial state since this is the first training example we have seen
K_inv.set_size(1,1);
K_inv(0,0) = 1/kx;
K.set_size(1,1);
K(0,0) = kx;
K_inv.set_size(1,1);
K_inv(0,0) = 1/kx;
K.set_size(1,1);
K(0,0) = kx;
alpha.push_back(y/kx);
dictionary.push_back(x);
P.set_size(1,1);
P(0,0) = 1;
alpha.push_back(y/kx);
dictionary.push_back(x);
P.set_size(1,1);
P(0,0) = 1;
}
}
else
{