Specify internal or external linkage explicitly.
Use same precision as the rest of the algorithm.
Remove extra ';' after member function definition.
Use std::size_t instead of size_t or replace int's with std::size_t.
Use DISALLOW_COPY_AND_ASSIGN macro.
Remove unused private attribute.
Remove if which cannot be true.
State missing enum values explicitly.
Remove unreachable code.
Use std::abs instead of global fabs.