Skip to content
Snippets Groups Projects
generate-points.c 992 B
Newer Older
Recolic's avatar
Recolic committed
#include <stdio.h>
#include <assert.h>

#define sample_per_u 10
#define iteration_count 200
#define sample_range_begin 1.000
#define sample_range_end 4.000
#define delta_u 0.001

void sample_after_iteration(double u, double *output_samples_arr) {
    // Firstly, let's do some iterations. 
    double x_curr = 0.01;
    for(int i = 0; i < iteration_count; ++i) {
        assert(x_curr > 0 && x_curr < 1);
        x_curr = u * x_curr * (1 - x_curr);
    }
    // And then, take some samples.
    for(int i = 0; i < sample_per_u; ++i) {
        output_samples_arr[i] = x_curr;
        x_curr = u * x_curr * (1 - x_curr);
    }
}

void print_points() {
    double samples_arr[sample_per_u];
    for(double curr_u = sample_range_begin; curr_u <= sample_range_end; curr_u += delta_u) {
        sample_after_iteration(curr_u, samples_arr);
        for(int i = 0; i < sample_per_u; ++i) {
            printf("%f %f\n", curr_u, samples_arr[i]);
        }
    }
}

int main() {
    print_points();
}