<p>When mlpack is built with Visual Studio, there are tons and tons of warnings; for instance, see this output:<br>
<a href="https://ci.appveyor.com/project/mlpack/mlpack">https://ci.appveyor.com/project/mlpack/mlpack</a></p>

<p>A snippet of warnings:</p>

<pre><code>C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/discrete_distribution.hpp(55): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/discrete_distribution.hpp(55): warning C4244: 'argument': conversion from 'const size_t' to 'const double', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/discrete_distribution.hpp(104): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/laplace_distribution.hpp(61): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/laplace_distribution.hpp(104): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/laplace_distribution.hpp(105): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/laplace_distribution.hpp(107): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/gaussian_distribution.hpp(47): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/gaussian_distribution.hpp(48): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/gaussian_distribution.hpp(49): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/gaussian_distribution.hpp(50): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/gaussian_distribution.hpp(185): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\core\dists\gaussian_distribution.cpp(102): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\core\dists\gaussian_distribution.cpp(110): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\core\dists\gaussian_distribution.cpp(162): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\core\dists\gaussian_distribution.cpp(163): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\core\dists\gaussian_distribution.cpp(181): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\core\dists\gaussian_distribution.cpp(182): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
c:\projects\mlpack\src\mlpack\core\data\load_arff_impl.hpp(47): warning C4129: '%': unrecognized character escape sequence [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/math/random.hpp(37): warning C4267: 'argument': conversion from 'size_t' to 'const arma::arma_rng::seed_type', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/discrete_distribution.hpp(55): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/discrete_distribution.hpp(55): warning C4244: 'argument': conversion from 'const size_t' to 'const double', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
C:\projects\mlpack\src\mlpack\..\mlpack/core/dists/discrete_distribution.hpp(104): warning C4267: 'argument': conversion from 'size_t' to 'const arma::uword', possible loss of data [C:\projects\mlpack\build\src\mlpack\mlpack.vcxproj]
</code></pre>

<p>Most of these errors will be from the same patterns throughout the code, so we should do what we can to fix them where possible.  At least for the conversion of <code>size_t</code> to <code>arma::uword</code>, I <em>think</em> that we should be able to guarantee that in general, <code>size_t</code> is an equivalent type to <code>arma::uword</code> (but maybe the compiler just isn't catching it), so we should be able to avoid making those casts explicit everywhere.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br>Reply to this email directly or <a href="https://github.com/mlpack/mlpack/issues/554">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFNrfOuamx-DeCJJ77zvAsUrtVpK5ks5prIkbgaJpZM4HrI9Q.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/mlpack/mlpack/issues/554"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>