init.hpp 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. //
  2. // Copyright (c) 2018 Stefan Seefeld
  3. // All rights reserved.
  4. //
  5. // This file is part of Boost.uBLAS. It is made available under the
  6. // Boost Software License, Version 1.0.
  7. // (Consult LICENSE or http://www.boost.org/LICENSE_1_0.txt)
  8. #include <boost/numeric/ublas/vector.hpp>
  9. #include <boost/numeric/ublas/matrix.hpp>
  10. namespace boost { namespace numeric { namespace ublas { namespace benchmark {
  11. template <typename T>
  12. void init(vector<T> &v, unsigned long size, int max_value)
  13. {
  14. v = vector<T>(size);
  15. for (unsigned long i = 0; i < v.size(); ++i)
  16. v(i) = std::rand() % max_value;
  17. }
  18. template <typename T, typename L>
  19. void init(matrix<T, L> &m, unsigned long size1, unsigned long size2, int max_value)
  20. {
  21. m = matrix<T, L>(size1, size2);
  22. for (unsigned long i = 0; i < m.size1(); ++i)
  23. for (unsigned long j = 0; j < m.size2(); ++j)
  24. m(i, j) = std::rand() % max_value;
  25. }
  26. template <typename T, typename L>
  27. void init(matrix<T, L> &m, unsigned long size, int max_value)
  28. {
  29. return init(m, size, size, max_value);
  30. }
  31. }}}}