some changes
This commit is contained in:
parent
5a612f8354
commit
db792e6fc1
Binary file not shown.
|
@ -0,0 +1,16 @@
|
|||
#include <iostream>
|
||||
#include <vector>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main (){
|
||||
double matris[5][6];
|
||||
int number_of_start = 10;
|
||||
for(int row_counter=1; row_counter <= number_of_start ; row_counter++){
|
||||
for(int star_counter=0; star_counter < row_counter ; star_counter++)
|
||||
cout << '*';
|
||||
cout << endl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -10,6 +10,10 @@ T multiply(T x, T y) {
|
|||
}
|
||||
|
||||
|
||||
auto multiply_auto(auto x, auto y) {
|
||||
return x * y;
|
||||
}
|
||||
|
||||
int multiply_int(int x, int y) {
|
||||
return x * y;
|
||||
}
|
||||
|
@ -20,7 +24,7 @@ double f(double& x){
|
|||
}
|
||||
|
||||
template <typename T, typename F, long unsigned int N>
|
||||
T integrate (std::array<T, N> x, F f){
|
||||
T integrate (std::array<T, N>& x, F f){
|
||||
T tmp{T(0)};
|
||||
for (auto s: x){
|
||||
tmp+= f(s);
|
||||
|
@ -31,10 +35,11 @@ T integrate (std::array<T, N> x, F f){
|
|||
|
||||
auto integrate_auto (auto x, auto f){
|
||||
auto tmp{x[0]};
|
||||
tmp = 0.0;
|
||||
|
||||
for (auto s: x){
|
||||
tmp+= f(s);
|
||||
}
|
||||
tmp-=x[0];
|
||||
return tmp;
|
||||
}
|
||||
|
||||
|
@ -43,7 +48,7 @@ typedef double (*FUNC)(double&);
|
|||
|
||||
|
||||
template <typename T, long unsigned int N>
|
||||
T integrate2 (std::array<T, N> x, FUNC f){
|
||||
T integrate_legacy (std::array<T, N> x, FUNC f){
|
||||
T tmp{T(0)};
|
||||
for (auto s: x){
|
||||
tmp+= f(s);
|
||||
|
@ -69,6 +74,8 @@ int main() {
|
|||
|
||||
std::cout << "Product of integers: " << std::accumulate( std::begin(integers), std::end(integers), 1, multiply<int>) << "\n";
|
||||
|
||||
//std::cout << "Product of integers: " << std::accumulate( std::begin(integers), std::end(integers), 1, multiply_auto) << "\n";
|
||||
|
||||
std::cout << "Product of integers: " << std::accumulate( integers.cbegin(), integers.cend(), 1, multiply<int>) << "\n";
|
||||
|
||||
std::cout << "Product of integers with a lambda: " << std::accumulate(std::begin(integers), std::end(integers), 1, multiply_lambda) << "\n";
|
||||
|
@ -77,9 +84,9 @@ int main() {
|
|||
|
||||
std::cout << "Product of integers with a lambda: " << std::accumulate(std::begin(floats), std::end(floats), 1, multiply_lambda) << "\n";
|
||||
|
||||
std::cout << "Integration2 template " << integrate2(floats, f) << "\n";
|
||||
std::cout << "Integration2 template " << integrate_legacy(floats, f_lambda) << "\n";
|
||||
|
||||
std::cout << "Integration full template " << integrate(floats, f_lambda) << "\n";
|
||||
std::cout << "Integration full template " << integrate(floats, f) << "\n";
|
||||
|
||||
std::cout << "Integration auto " << integrate_auto(floats, f_lambda) << "\n";
|
||||
|
||||
|
|
|
@ -25,12 +25,12 @@ int main() {
|
|||
double lower_bound = 0;
|
||||
std::uniform_real_distribution<double> randomReal{lower_bound, upper_bound};
|
||||
|
||||
constexpr size_t N{10};
|
||||
constexpr size_t N{4};
|
||||
double del {(upper_bound-lower_bound)/N};
|
||||
std::array<double, N> histogram{};
|
||||
|
||||
// roll die 60,000 times; use die value as frequency index
|
||||
for (int roll{1}; roll <= 60'000; ++roll) {
|
||||
for (int roll{1}; roll <= 6000; ++roll) {
|
||||
double val{ randomReal(engine)};
|
||||
accumulate<N>(histogram, val, lower_bound, upper_bound);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue