fork download
  1. #include <array>
  2. #include <cmath>
  3. #include <iostream>
  4. #include <utility>
  5.  
  6. double genEntry(std::uint32_t x) {
  7. return x == 0 ? 0 : std::log(x) / std::log(5);
  8. }
  9.  
  10. template <typename F, std::size_t ... Is>
  11. auto
  12. make_array(F f, std::index_sequence<Is...>)
  13. -> std::array<std::decay_t<decltype(f(0u))>, sizeof...(Is)>
  14. {
  15. return {{f(Is)...}};
  16. }
  17.  
  18.  
  19. int main() {
  20. const auto a = make_array(genEntry, std::make_index_sequence<16>());
  21.  
  22. for (auto e : a) {
  23. std::cout << e << std::endl;
  24. }
  25. }
  26.  
Success #stdin #stdout 0s 3096KB
stdin
Standard input is empty
stdout
0
0
0.430677
0.682606
0.861353
1
1.11328
1.20906
1.29203
1.36521
1.43068
1.4899
1.54396
1.59369
1.63974
1.68261