add for hw4
This commit is contained in:
6
hws/hw4/README.md
Normal file
6
hws/hw4/README.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# Numerical Analysis Homework 4
|
||||||
|
|
||||||
|
`REPORT.md`가 보고서입니다.
|
||||||
|
`output.txt`는 콘솔 출력으로 `main.c`의 출력결과입니다.
|
||||||
|
|
||||||
|
`main.c`는 `rng.c`, `rngutil.c`와 같이 컴파일해야합니다.
|
||||||
10
hws/hw4/REPORT.md
Normal file
10
hws/hw4/REPORT.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# Numerical Analysis Homework 3 Report
|
||||||
|
|
||||||
|
각 샘플 크기 (100, 1000, 10000, 100000)에 대해서 난수 생성을 하여 만든 샘플에 대해서 히스토그램을 그렸습니다. 그린 히스토그램은 `output.txt`에 있습니다.
|
||||||
|
|
||||||
|
난수 생성을 할 때 만든 난수 생성기는 Linear Congruential Generator로 만들었고 소스코드는 `rng.c`에 있습니다.
|
||||||
|
|
||||||
|
샘플 크기가 작을때(100)는 에서는 제대로된 샘플의 형상을 보기 힘들었고
|
||||||
|
샘플 크기가 커짐에 따라 형상이 제대로 보이기 시작했습니다.
|
||||||
|
1000일때에는 유니폼 난수에서 노이즈가 많이 있어서 예상과 달리 평탄하지 못했고, 마찬가지로 가우시안에서도 노이즈가 많은 느낌이었습니다.
|
||||||
|
10000이후부터는 예상과 거의 맞아 떨어졌고, 형상이 제대로 보였습니다. (평탄한 직선, 종모양).
|
||||||
62
hws/hw4/main.c
Normal file
62
hws/hw4/main.c
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "rng.h"
|
||||||
|
#include "rngutil.h"
|
||||||
|
|
||||||
|
int cmp(const void *a, const void *b) {
|
||||||
|
float af = *(float *) a;
|
||||||
|
float bf = *(float *) b;
|
||||||
|
|
||||||
|
if (bf - af > 0) {
|
||||||
|
return -1;
|
||||||
|
} else if (bf - af < 0) {
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
rng *base = get_rng(8);
|
||||||
|
|
||||||
|
const size_t n_ns = 4;
|
||||||
|
size_t ns[] = {100, 1000, 10000, 100000};
|
||||||
|
float **samples = calloc(n_ns * 2, sizeof(float *));
|
||||||
|
|
||||||
|
size_t i, j;
|
||||||
|
for (i = 0; i < n_ns; i++) {
|
||||||
|
samples[i * 2] = calloc(ns[i], sizeof(float));
|
||||||
|
samples[i * 2 + 1] = calloc(ns[i], sizeof(float));
|
||||||
|
for (j = 0; j < ns[i]; j++) {
|
||||||
|
samples[i * 2][j] = rng_uniform(base, -3, 4);
|
||||||
|
samples[i * 2 + 1][j] = rng_gaussian(base, 0.5, 1.5);
|
||||||
|
}
|
||||||
|
qsort(samples[i * 2], ns[i], sizeof(float), cmp);
|
||||||
|
qsort(samples[i * 2 + 1], ns[i], sizeof(float), cmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
Interval *interval1 = new_interval(100);
|
||||||
|
Interval *interval2 = new_interval(100);
|
||||||
|
for (i = 0; i < n_ns; i++) {
|
||||||
|
intervalizing(interval1, ns[i], samples[i * 2]);
|
||||||
|
intervalizing(interval2, ns[i], samples[i * 2 + 1]);
|
||||||
|
printf("=== Uniform Distribution #%lu\n", i);
|
||||||
|
print_histogram(interval1, ns[i], samples[i * 2]);
|
||||||
|
printf("=== Gaussian Distribution #%lu\n", i);
|
||||||
|
print_histogram(interval2, ns[i], samples[i * 2 + 1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (j = 0; j < n_ns * 2; j++) {
|
||||||
|
free(samples[j]);
|
||||||
|
}
|
||||||
|
|
||||||
|
free(samples);
|
||||||
|
|
||||||
|
free_interval(interval1);
|
||||||
|
free_interval(interval2);
|
||||||
|
|
||||||
|
free_rng(base);
|
||||||
|
base = NULL;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
848
hws/hw4/output.txt
Normal file
848
hws/hw4/output.txt
Normal file
@@ -0,0 +1,848 @@
|
|||||||
|
=== Uniform Distribution #0
|
||||||
|
------------------------------------------------------
|
||||||
|
# Histogram (n_samples: 100, avg_bin: 1.00) #
|
||||||
|
# (scale ref.: 4.00 count = 80 stars) #
|
||||||
|
# min: -2.98, max: 3.99
|
||||||
|
Bin 0: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 1: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 2: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 3: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 4: [ 0]( 0.00%) |
|
||||||
|
Bin 5: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 6: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 7: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 8: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 9: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 10: [ 0]( 0.00%) |
|
||||||
|
Bin 11: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 12: [ 0]( 0.00%) |
|
||||||
|
Bin 13: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 14: [ 0]( 0.00%) |
|
||||||
|
Bin 15: [ 3]( 3.00%) | ************************************************************
|
||||||
|
Bin 16: [ 3]( 3.00%) | ************************************************************
|
||||||
|
Bin 17: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 18: [ 0]( 0.00%) |
|
||||||
|
Bin 19: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 20: [ 0]( 0.00%) |
|
||||||
|
Bin 21: [ 0]( 0.00%) |
|
||||||
|
Bin 22: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 23: [ 0]( 0.00%) |
|
||||||
|
Bin 24: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 25: [ 0]( 0.00%) |
|
||||||
|
Bin 26: [ 0]( 0.00%) |
|
||||||
|
Bin 27: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 28: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 29: [ 0]( 0.00%) |
|
||||||
|
Bin 30: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 31: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 32: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 33: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 34: [ 0]( 0.00%) |
|
||||||
|
Bin 35: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 36: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 37: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 38: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 39: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 40: [ 3]( 3.00%) | ************************************************************
|
||||||
|
Bin 41: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 42: [ 0]( 0.00%) |
|
||||||
|
Bin 43: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 44: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 45: [ 0]( 0.00%) |
|
||||||
|
Bin 46: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 47: [ 0]( 0.00%) |
|
||||||
|
Bin 48: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 49: [ 0]( 0.00%) |
|
||||||
|
Bin 50: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 51: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 52: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 53: [ 0]( 0.00%) |
|
||||||
|
Bin 54: [ 0]( 0.00%) |
|
||||||
|
Bin 55: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 56: [ 0]( 0.00%) |
|
||||||
|
Bin 57: [ 0]( 0.00%) |
|
||||||
|
Bin 58: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 59: [ 0]( 0.00%) |
|
||||||
|
Bin 60: [ 0]( 0.00%) |
|
||||||
|
Bin 61: [ 0]( 0.00%) |
|
||||||
|
Bin 62: [ 0]( 0.00%) |
|
||||||
|
Bin 63: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 64: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 65: [ 0]( 0.00%) |
|
||||||
|
Bin 66: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 67: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 68: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 69: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 70: [ 0]( 0.00%) |
|
||||||
|
Bin 71: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 72: [ 0]( 0.00%) |
|
||||||
|
Bin 73: [ 4]( 4.00%) | ********************************************************************************
|
||||||
|
Bin 74: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 75: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 76: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 77: [ 0]( 0.00%) |
|
||||||
|
Bin 78: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 79: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 80: [ 4]( 4.00%) | ********************************************************************************
|
||||||
|
Bin 81: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 82: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 83: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 84: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 85: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 86: [ 0]( 0.00%) |
|
||||||
|
Bin 87: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 88: [ 0]( 0.00%) |
|
||||||
|
Bin 89: [ 0]( 0.00%) |
|
||||||
|
Bin 90: [ 3]( 3.00%) | ************************************************************
|
||||||
|
Bin 91: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 92: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 93: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 94: [ 0]( 0.00%) |
|
||||||
|
Bin 95: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 96: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 97: [ 0]( 0.00%) |
|
||||||
|
Bin 98: [ 0]( 0.00%) |
|
||||||
|
Bin 99: [ 1]( 1.00%) | ********************
|
||||||
|
------------------------------------------------------
|
||||||
|
=== Gaussian Distribution #0
|
||||||
|
------------------------------------------------------
|
||||||
|
# Histogram (n_samples: 100, avg_bin: 1.00) #
|
||||||
|
# (scale ref.: 4.00 count = 80 stars) #
|
||||||
|
# min: -2.88, max: 3.69
|
||||||
|
Bin 0: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 1: [ 0]( 0.00%) |
|
||||||
|
Bin 2: [ 0]( 0.00%) |
|
||||||
|
Bin 3: [ 0]( 0.00%) |
|
||||||
|
Bin 4: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 5: [ 0]( 0.00%) |
|
||||||
|
Bin 6: [ 0]( 0.00%) |
|
||||||
|
Bin 7: [ 0]( 0.00%) |
|
||||||
|
Bin 8: [ 0]( 0.00%) |
|
||||||
|
Bin 9: [ 0]( 0.00%) |
|
||||||
|
Bin 10: [ 0]( 0.00%) |
|
||||||
|
Bin 11: [ 0]( 0.00%) |
|
||||||
|
Bin 12: [ 0]( 0.00%) |
|
||||||
|
Bin 13: [ 0]( 0.00%) |
|
||||||
|
Bin 14: [ 0]( 0.00%) |
|
||||||
|
Bin 15: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 16: [ 0]( 0.00%) |
|
||||||
|
Bin 17: [ 0]( 0.00%) |
|
||||||
|
Bin 18: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 19: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 20: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 21: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 22: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 23: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 24: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 25: [ 0]( 0.00%) |
|
||||||
|
Bin 26: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 27: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 28: [ 0]( 0.00%) |
|
||||||
|
Bin 29: [ 0]( 0.00%) |
|
||||||
|
Bin 30: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 31: [ 0]( 0.00%) |
|
||||||
|
Bin 32: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 33: [ 3]( 3.00%) | ************************************************************
|
||||||
|
Bin 34: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 35: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 36: [ 0]( 0.00%) |
|
||||||
|
Bin 37: [ 4]( 4.00%) | ********************************************************************************
|
||||||
|
Bin 38: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 39: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 40: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 41: [ 0]( 0.00%) |
|
||||||
|
Bin 42: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 43: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 44: [ 0]( 0.00%) |
|
||||||
|
Bin 45: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 46: [ 4]( 4.00%) | ********************************************************************************
|
||||||
|
Bin 47: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 48: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 49: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 50: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 51: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 52: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 53: [ 3]( 3.00%) | ************************************************************
|
||||||
|
Bin 54: [ 3]( 3.00%) | ************************************************************
|
||||||
|
Bin 55: [ 0]( 0.00%) |
|
||||||
|
Bin 56: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 57: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 58: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 59: [ 5]( 5.00%) | ********************************************************************************+
|
||||||
|
Bin 60: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 61: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 62: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 63: [ 0]( 0.00%) |
|
||||||
|
Bin 64: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 65: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 66: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 67: [ 0]( 0.00%) |
|
||||||
|
Bin 68: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 69: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 70: [ 4]( 4.00%) | ********************************************************************************
|
||||||
|
Bin 71: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 72: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 73: [ 3]( 3.00%) | ************************************************************
|
||||||
|
Bin 74: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 75: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 76: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 77: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 78: [ 0]( 0.00%) |
|
||||||
|
Bin 79: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 80: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 81: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 82: [ 0]( 0.00%) |
|
||||||
|
Bin 83: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 84: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 85: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 86: [ 0]( 0.00%) |
|
||||||
|
Bin 87: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 88: [ 2]( 2.00%) | ****************************************
|
||||||
|
Bin 89: [ 0]( 0.00%) |
|
||||||
|
Bin 90: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 91: [ 0]( 0.00%) |
|
||||||
|
Bin 92: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 93: [ 0]( 0.00%) |
|
||||||
|
Bin 94: [ 0]( 0.00%) |
|
||||||
|
Bin 95: [ 0]( 0.00%) |
|
||||||
|
Bin 96: [ 0]( 0.00%) |
|
||||||
|
Bin 97: [ 0]( 0.00%) |
|
||||||
|
Bin 98: [ 1]( 1.00%) | ********************
|
||||||
|
Bin 99: [ 1]( 1.00%) | ********************
|
||||||
|
------------------------------------------------------
|
||||||
|
=== Uniform Distribution #1
|
||||||
|
------------------------------------------------------
|
||||||
|
# Histogram (n_samples: 1000, avg_bin: 10.00) #
|
||||||
|
# (scale ref.: 40.00 count = 80 stars) #
|
||||||
|
# min: -3.00, max: 3.99
|
||||||
|
Bin 0: [ 13]( 1.30%) | **************************
|
||||||
|
Bin 1: [ 10]( 1.00%) | ********************
|
||||||
|
Bin 2: [ 10]( 1.00%) | ********************
|
||||||
|
Bin 3: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 4: [ 10]( 1.00%) | ********************
|
||||||
|
Bin 5: [ 20]( 2.00%) | ****************************************
|
||||||
|
Bin 6: [ 12]( 1.20%) | ************************
|
||||||
|
Bin 7: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 8: [ 5]( 0.50%) | **********
|
||||||
|
Bin 9: [ 14]( 1.40%) | ****************************
|
||||||
|
Bin 10: [ 10]( 1.00%) | ********************
|
||||||
|
Bin 11: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 12: [ 9]( 0.90%) | ******************
|
||||||
|
Bin 13: [ 11]( 1.10%) | **********************
|
||||||
|
Bin 14: [ 16]( 1.60%) | ********************************
|
||||||
|
Bin 15: [ 13]( 1.30%) | **************************
|
||||||
|
Bin 16: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 17: [ 6]( 0.60%) | ************
|
||||||
|
Bin 18: [ 9]( 0.90%) | ******************
|
||||||
|
Bin 19: [ 14]( 1.40%) | ****************************
|
||||||
|
Bin 20: [ 10]( 1.00%) | ********************
|
||||||
|
Bin 21: [ 12]( 1.20%) | ************************
|
||||||
|
Bin 22: [ 7]( 0.70%) | **************
|
||||||
|
Bin 23: [ 9]( 0.90%) | ******************
|
||||||
|
Bin 24: [ 16]( 1.60%) | ********************************
|
||||||
|
Bin 25: [ 12]( 1.20%) | ************************
|
||||||
|
Bin 26: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 27: [ 9]( 0.90%) | ******************
|
||||||
|
Bin 28: [ 12]( 1.20%) | ************************
|
||||||
|
Bin 29: [ 16]( 1.60%) | ********************************
|
||||||
|
Bin 30: [ 6]( 0.60%) | ************
|
||||||
|
Bin 31: [ 6]( 0.60%) | ************
|
||||||
|
Bin 32: [ 12]( 1.20%) | ************************
|
||||||
|
Bin 33: [ 12]( 1.20%) | ************************
|
||||||
|
Bin 34: [ 11]( 1.10%) | **********************
|
||||||
|
Bin 35: [ 7]( 0.70%) | **************
|
||||||
|
Bin 36: [ 18]( 1.80%) | ************************************
|
||||||
|
Bin 37: [ 11]( 1.10%) | **********************
|
||||||
|
Bin 38: [ 3]( 0.30%) | ******
|
||||||
|
Bin 39: [ 10]( 1.00%) | ********************
|
||||||
|
Bin 40: [ 15]( 1.50%) | ******************************
|
||||||
|
Bin 41: [ 14]( 1.40%) | ****************************
|
||||||
|
Bin 42: [ 12]( 1.20%) | ************************
|
||||||
|
Bin 43: [ 12]( 1.20%) | ************************
|
||||||
|
Bin 44: [ 18]( 1.80%) | ************************************
|
||||||
|
Bin 45: [ 7]( 0.70%) | **************
|
||||||
|
Bin 46: [ 7]( 0.70%) | **************
|
||||||
|
Bin 47: [ 16]( 1.60%) | ********************************
|
||||||
|
Bin 48: [ 7]( 0.70%) | **************
|
||||||
|
Bin 49: [ 6]( 0.60%) | ************
|
||||||
|
Bin 50: [ 11]( 1.10%) | **********************
|
||||||
|
Bin 51: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 52: [ 5]( 0.50%) | **********
|
||||||
|
Bin 53: [ 14]( 1.40%) | ****************************
|
||||||
|
Bin 54: [ 9]( 0.90%) | ******************
|
||||||
|
Bin 55: [ 10]( 1.00%) | ********************
|
||||||
|
Bin 56: [ 7]( 0.70%) | **************
|
||||||
|
Bin 57: [ 7]( 0.70%) | **************
|
||||||
|
Bin 58: [ 7]( 0.70%) | **************
|
||||||
|
Bin 59: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 60: [ 13]( 1.30%) | **************************
|
||||||
|
Bin 61: [ 13]( 1.30%) | **************************
|
||||||
|
Bin 62: [ 6]( 0.60%) | ************
|
||||||
|
Bin 63: [ 10]( 1.00%) | ********************
|
||||||
|
Bin 64: [ 7]( 0.70%) | **************
|
||||||
|
Bin 65: [ 4]( 0.40%) | ********
|
||||||
|
Bin 66: [ 12]( 1.20%) | ************************
|
||||||
|
Bin 67: [ 7]( 0.70%) | **************
|
||||||
|
Bin 68: [ 7]( 0.70%) | **************
|
||||||
|
Bin 69: [ 11]( 1.10%) | **********************
|
||||||
|
Bin 70: [ 10]( 1.00%) | ********************
|
||||||
|
Bin 71: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 72: [ 12]( 1.20%) | ************************
|
||||||
|
Bin 73: [ 11]( 1.10%) | **********************
|
||||||
|
Bin 74: [ 9]( 0.90%) | ******************
|
||||||
|
Bin 75: [ 9]( 0.90%) | ******************
|
||||||
|
Bin 76: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 77: [ 13]( 1.30%) | **************************
|
||||||
|
Bin 78: [ 14]( 1.40%) | ****************************
|
||||||
|
Bin 79: [ 12]( 1.20%) | ************************
|
||||||
|
Bin 80: [ 11]( 1.10%) | **********************
|
||||||
|
Bin 81: [ 6]( 0.60%) | ************
|
||||||
|
Bin 82: [ 9]( 0.90%) | ******************
|
||||||
|
Bin 83: [ 9]( 0.90%) | ******************
|
||||||
|
Bin 84: [ 1]( 0.10%) | **
|
||||||
|
Bin 85: [ 15]( 1.50%) | ******************************
|
||||||
|
Bin 86: [ 11]( 1.10%) | **********************
|
||||||
|
Bin 87: [ 9]( 0.90%) | ******************
|
||||||
|
Bin 88: [ 13]( 1.30%) | **************************
|
||||||
|
Bin 89: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 90: [ 5]( 0.50%) | **********
|
||||||
|
Bin 91: [ 11]( 1.10%) | **********************
|
||||||
|
Bin 92: [ 5]( 0.50%) | **********
|
||||||
|
Bin 93: [ 12]( 1.20%) | ************************
|
||||||
|
Bin 94: [ 11]( 1.10%) | **********************
|
||||||
|
Bin 95: [ 4]( 0.40%) | ********
|
||||||
|
Bin 96: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 97: [ 9]( 0.90%) | ******************
|
||||||
|
Bin 98: [ 15]( 1.50%) | ******************************
|
||||||
|
Bin 99: [ 11]( 1.10%) | **********************
|
||||||
|
------------------------------------------------------
|
||||||
|
=== Gaussian Distribution #1
|
||||||
|
------------------------------------------------------
|
||||||
|
# Histogram (n_samples: 1000, avg_bin: 10.00) #
|
||||||
|
# (scale ref.: 40.00 count = 80 stars) #
|
||||||
|
# min: -4.81, max: 5.64
|
||||||
|
Bin 0: [ 1]( 0.10%) | **
|
||||||
|
Bin 1: [ 0]( 0.00%) |
|
||||||
|
Bin 2: [ 0]( 0.00%) |
|
||||||
|
Bin 3: [ 1]( 0.10%) | **
|
||||||
|
Bin 4: [ 0]( 0.00%) |
|
||||||
|
Bin 5: [ 0]( 0.00%) |
|
||||||
|
Bin 6: [ 0]( 0.00%) |
|
||||||
|
Bin 7: [ 0]( 0.00%) |
|
||||||
|
Bin 8: [ 0]( 0.00%) |
|
||||||
|
Bin 9: [ 0]( 0.00%) |
|
||||||
|
Bin 10: [ 1]( 0.10%) | **
|
||||||
|
Bin 11: [ 2]( 0.20%) | ****
|
||||||
|
Bin 12: [ 0]( 0.00%) |
|
||||||
|
Bin 13: [ 2]( 0.20%) | ****
|
||||||
|
Bin 14: [ 1]( 0.10%) | **
|
||||||
|
Bin 15: [ 0]( 0.00%) |
|
||||||
|
Bin 16: [ 2]( 0.20%) | ****
|
||||||
|
Bin 17: [ 2]( 0.20%) | ****
|
||||||
|
Bin 18: [ 2]( 0.20%) | ****
|
||||||
|
Bin 19: [ 0]( 0.00%) |
|
||||||
|
Bin 20: [ 2]( 0.20%) | ****
|
||||||
|
Bin 21: [ 4]( 0.40%) | ********
|
||||||
|
Bin 22: [ 3]( 0.30%) | ******
|
||||||
|
Bin 23: [ 6]( 0.60%) | ************
|
||||||
|
Bin 24: [ 5]( 0.50%) | **********
|
||||||
|
Bin 25: [ 2]( 0.20%) | ****
|
||||||
|
Bin 26: [ 7]( 0.70%) | **************
|
||||||
|
Bin 27: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 28: [ 11]( 1.10%) | **********************
|
||||||
|
Bin 29: [ 6]( 0.60%) | ************
|
||||||
|
Bin 30: [ 12]( 1.20%) | ************************
|
||||||
|
Bin 31: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 32: [ 11]( 1.10%) | **********************
|
||||||
|
Bin 33: [ 10]( 1.00%) | ********************
|
||||||
|
Bin 34: [ 20]( 2.00%) | ****************************************
|
||||||
|
Bin 35: [ 17]( 1.70%) | **********************************
|
||||||
|
Bin 36: [ 13]( 1.30%) | **************************
|
||||||
|
Bin 37: [ 17]( 1.70%) | **********************************
|
||||||
|
Bin 38: [ 17]( 1.70%) | **********************************
|
||||||
|
Bin 39: [ 22]( 2.20%) | ********************************************
|
||||||
|
Bin 40: [ 19]( 1.90%) | **************************************
|
||||||
|
Bin 41: [ 21]( 2.10%) | ******************************************
|
||||||
|
Bin 42: [ 22]( 2.20%) | ********************************************
|
||||||
|
Bin 43: [ 34]( 3.40%) | ********************************************************************
|
||||||
|
Bin 44: [ 21]( 2.10%) | ******************************************
|
||||||
|
Bin 45: [ 18]( 1.80%) | ************************************
|
||||||
|
Bin 46: [ 24]( 2.40%) | ************************************************
|
||||||
|
Bin 47: [ 25]( 2.50%) | **************************************************
|
||||||
|
Bin 48: [ 24]( 2.40%) | ************************************************
|
||||||
|
Bin 49: [ 28]( 2.80%) | ********************************************************
|
||||||
|
Bin 50: [ 40]( 4.00%) | ********************************************************************************
|
||||||
|
Bin 51: [ 25]( 2.50%) | **************************************************
|
||||||
|
Bin 52: [ 25]( 2.50%) | **************************************************
|
||||||
|
Bin 53: [ 34]( 3.40%) | ********************************************************************
|
||||||
|
Bin 54: [ 26]( 2.60%) | ****************************************************
|
||||||
|
Bin 55: [ 25]( 2.50%) | **************************************************
|
||||||
|
Bin 56: [ 35]( 3.50%) | **********************************************************************
|
||||||
|
Bin 57: [ 25]( 2.50%) | **************************************************
|
||||||
|
Bin 58: [ 25]( 2.50%) | **************************************************
|
||||||
|
Bin 59: [ 21]( 2.10%) | ******************************************
|
||||||
|
Bin 60: [ 24]( 2.40%) | ************************************************
|
||||||
|
Bin 61: [ 18]( 1.80%) | ************************************
|
||||||
|
Bin 62: [ 25]( 2.50%) | **************************************************
|
||||||
|
Bin 63: [ 24]( 2.40%) | ************************************************
|
||||||
|
Bin 64: [ 20]( 2.00%) | ****************************************
|
||||||
|
Bin 65: [ 14]( 1.40%) | ****************************
|
||||||
|
Bin 66: [ 19]( 1.90%) | **************************************
|
||||||
|
Bin 67: [ 10]( 1.00%) | ********************
|
||||||
|
Bin 68: [ 12]( 1.20%) | ************************
|
||||||
|
Bin 69: [ 5]( 0.50%) | **********
|
||||||
|
Bin 70: [ 14]( 1.40%) | ****************************
|
||||||
|
Bin 71: [ 9]( 0.90%) | ******************
|
||||||
|
Bin 72: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 73: [ 8]( 0.80%) | ****************
|
||||||
|
Bin 74: [ 7]( 0.70%) | **************
|
||||||
|
Bin 75: [ 9]( 0.90%) | ******************
|
||||||
|
Bin 76: [ 4]( 0.40%) | ********
|
||||||
|
Bin 77: [ 4]( 0.40%) | ********
|
||||||
|
Bin 78: [ 11]( 1.10%) | **********************
|
||||||
|
Bin 79: [ 5]( 0.50%) | **********
|
||||||
|
Bin 80: [ 2]( 0.20%) | ****
|
||||||
|
Bin 81: [ 2]( 0.20%) | ****
|
||||||
|
Bin 82: [ 1]( 0.10%) | **
|
||||||
|
Bin 83: [ 0]( 0.00%) |
|
||||||
|
Bin 84: [ 2]( 0.20%) | ****
|
||||||
|
Bin 85: [ 3]( 0.30%) | ******
|
||||||
|
Bin 86: [ 1]( 0.10%) | **
|
||||||
|
Bin 87: [ 0]( 0.00%) |
|
||||||
|
Bin 88: [ 3]( 0.30%) | ******
|
||||||
|
Bin 89: [ 0]( 0.00%) |
|
||||||
|
Bin 90: [ 2]( 0.20%) | ****
|
||||||
|
Bin 91: [ 1]( 0.10%) | **
|
||||||
|
Bin 92: [ 0]( 0.00%) |
|
||||||
|
Bin 93: [ 0]( 0.00%) |
|
||||||
|
Bin 94: [ 0]( 0.00%) |
|
||||||
|
Bin 95: [ 0]( 0.00%) |
|
||||||
|
Bin 96: [ 0]( 0.00%) |
|
||||||
|
Bin 97: [ 0]( 0.00%) |
|
||||||
|
Bin 98: [ 0]( 0.00%) |
|
||||||
|
Bin 99: [ 1]( 0.10%) | **
|
||||||
|
------------------------------------------------------
|
||||||
|
=== Uniform Distribution #2
|
||||||
|
------------------------------------------------------
|
||||||
|
# Histogram (n_samples: 10000, avg_bin: 100.00) #
|
||||||
|
# (scale ref.: 400.00 count = 80 stars) #
|
||||||
|
# min: -3.00, max: 4.00
|
||||||
|
Bin 0: [ 95]( 0.95%) | *******************
|
||||||
|
Bin 1: [ 115]( 1.15%) | ***********************
|
||||||
|
Bin 2: [ 104]( 1.04%) | ********************
|
||||||
|
Bin 3: [ 83]( 0.83%) | ****************
|
||||||
|
Bin 4: [ 93]( 0.93%) | ******************
|
||||||
|
Bin 5: [ 92]( 0.92%) | ******************
|
||||||
|
Bin 6: [ 95]( 0.95%) | *******************
|
||||||
|
Bin 7: [ 98]( 0.98%) | *******************
|
||||||
|
Bin 8: [ 107]( 1.07%) | *********************
|
||||||
|
Bin 9: [ 111]( 1.11%) | **********************
|
||||||
|
Bin 10: [ 110]( 1.10%) | **********************
|
||||||
|
Bin 11: [ 91]( 0.91%) | ******************
|
||||||
|
Bin 12: [ 92]( 0.92%) | ******************
|
||||||
|
Bin 13: [ 103]( 1.03%) | ********************
|
||||||
|
Bin 14: [ 96]( 0.96%) | *******************
|
||||||
|
Bin 15: [ 96]( 0.96%) | *******************
|
||||||
|
Bin 16: [ 87]( 0.87%) | *****************
|
||||||
|
Bin 17: [ 92]( 0.92%) | ******************
|
||||||
|
Bin 18: [ 98]( 0.98%) | *******************
|
||||||
|
Bin 19: [ 114]( 1.14%) | **********************
|
||||||
|
Bin 20: [ 84]( 0.84%) | ****************
|
||||||
|
Bin 21: [ 125]( 1.25%) | *************************
|
||||||
|
Bin 22: [ 93]( 0.93%) | ******************
|
||||||
|
Bin 23: [ 111]( 1.11%) | **********************
|
||||||
|
Bin 24: [ 96]( 0.96%) | *******************
|
||||||
|
Bin 25: [ 114]( 1.14%) | **********************
|
||||||
|
Bin 26: [ 115]( 1.15%) | ***********************
|
||||||
|
Bin 27: [ 109]( 1.09%) | *********************
|
||||||
|
Bin 28: [ 93]( 0.93%) | ******************
|
||||||
|
Bin 29: [ 101]( 1.01%) | ********************
|
||||||
|
Bin 30: [ 104]( 1.04%) | ********************
|
||||||
|
Bin 31: [ 107]( 1.07%) | *********************
|
||||||
|
Bin 32: [ 101]( 1.01%) | ********************
|
||||||
|
Bin 33: [ 90]( 0.90%) | ******************
|
||||||
|
Bin 34: [ 89]( 0.89%) | *****************
|
||||||
|
Bin 35: [ 109]( 1.09%) | *********************
|
||||||
|
Bin 36: [ 88]( 0.88%) | *****************
|
||||||
|
Bin 37: [ 98]( 0.98%) | *******************
|
||||||
|
Bin 38: [ 116]( 1.16%) | ***********************
|
||||||
|
Bin 39: [ 105]( 1.05%) | *********************
|
||||||
|
Bin 40: [ 79]( 0.79%) | ***************
|
||||||
|
Bin 41: [ 95]( 0.95%) | *******************
|
||||||
|
Bin 42: [ 126]( 1.26%) | *************************
|
||||||
|
Bin 43: [ 97]( 0.97%) | *******************
|
||||||
|
Bin 44: [ 120]( 1.20%) | ************************
|
||||||
|
Bin 45: [ 104]( 1.04%) | ********************
|
||||||
|
Bin 46: [ 101]( 1.01%) | ********************
|
||||||
|
Bin 47: [ 105]( 1.05%) | *********************
|
||||||
|
Bin 48: [ 89]( 0.89%) | *****************
|
||||||
|
Bin 49: [ 103]( 1.03%) | ********************
|
||||||
|
Bin 50: [ 103]( 1.03%) | ********************
|
||||||
|
Bin 51: [ 99]( 0.99%) | *******************
|
||||||
|
Bin 52: [ 82]( 0.82%) | ****************
|
||||||
|
Bin 53: [ 108]( 1.08%) | *********************
|
||||||
|
Bin 54: [ 99]( 0.99%) | *******************
|
||||||
|
Bin 55: [ 101]( 1.01%) | ********************
|
||||||
|
Bin 56: [ 100]( 1.00%) | ********************
|
||||||
|
Bin 57: [ 92]( 0.92%) | ******************
|
||||||
|
Bin 58: [ 102]( 1.02%) | ********************
|
||||||
|
Bin 59: [ 96]( 0.96%) | *******************
|
||||||
|
Bin 60: [ 91]( 0.91%) | ******************
|
||||||
|
Bin 61: [ 108]( 1.08%) | *********************
|
||||||
|
Bin 62: [ 102]( 1.02%) | ********************
|
||||||
|
Bin 63: [ 113]( 1.13%) | **********************
|
||||||
|
Bin 64: [ 103]( 1.03%) | ********************
|
||||||
|
Bin 65: [ 107]( 1.07%) | *********************
|
||||||
|
Bin 66: [ 99]( 0.99%) | *******************
|
||||||
|
Bin 67: [ 84]( 0.84%) | ****************
|
||||||
|
Bin 68: [ 108]( 1.08%) | *********************
|
||||||
|
Bin 69: [ 106]( 1.06%) | *********************
|
||||||
|
Bin 70: [ 104]( 1.04%) | ********************
|
||||||
|
Bin 71: [ 98]( 0.98%) | *******************
|
||||||
|
Bin 72: [ 108]( 1.08%) | *********************
|
||||||
|
Bin 73: [ 99]( 0.99%) | *******************
|
||||||
|
Bin 74: [ 94]( 0.94%) | ******************
|
||||||
|
Bin 75: [ 98]( 0.98%) | *******************
|
||||||
|
Bin 76: [ 91]( 0.91%) | ******************
|
||||||
|
Bin 77: [ 100]( 1.00%) | ********************
|
||||||
|
Bin 78: [ 89]( 0.89%) | *****************
|
||||||
|
Bin 79: [ 111]( 1.11%) | **********************
|
||||||
|
Bin 80: [ 105]( 1.05%) | *********************
|
||||||
|
Bin 81: [ 104]( 1.04%) | ********************
|
||||||
|
Bin 82: [ 102]( 1.02%) | ********************
|
||||||
|
Bin 83: [ 73]( 0.73%) | **************
|
||||||
|
Bin 84: [ 91]( 0.91%) | ******************
|
||||||
|
Bin 85: [ 111]( 1.11%) | **********************
|
||||||
|
Bin 86: [ 88]( 0.88%) | *****************
|
||||||
|
Bin 87: [ 114]( 1.14%) | **********************
|
||||||
|
Bin 88: [ 103]( 1.03%) | ********************
|
||||||
|
Bin 89: [ 109]( 1.09%) | *********************
|
||||||
|
Bin 90: [ 97]( 0.97%) | *******************
|
||||||
|
Bin 91: [ 99]( 0.99%) | *******************
|
||||||
|
Bin 92: [ 91]( 0.91%) | ******************
|
||||||
|
Bin 93: [ 106]( 1.06%) | *********************
|
||||||
|
Bin 94: [ 99]( 0.99%) | *******************
|
||||||
|
Bin 95: [ 84]( 0.84%) | ****************
|
||||||
|
Bin 96: [ 103]( 1.03%) | ********************
|
||||||
|
Bin 97: [ 95]( 0.95%) | *******************
|
||||||
|
Bin 98: [ 100]( 1.00%) | ********************
|
||||||
|
Bin 99: [ 92]( 0.92%) | ******************
|
||||||
|
------------------------------------------------------
|
||||||
|
=== Gaussian Distribution #2
|
||||||
|
------------------------------------------------------
|
||||||
|
# Histogram (n_samples: 10000, avg_bin: 100.00) #
|
||||||
|
# (scale ref.: 400.00 count = 80 stars) #
|
||||||
|
# min: -5.33, max: 6.16
|
||||||
|
Bin 0: [ 1]( 0.01%) |
|
||||||
|
Bin 1: [ 0]( 0.00%) |
|
||||||
|
Bin 2: [ 0]( 0.00%) |
|
||||||
|
Bin 3: [ 1]( 0.01%) |
|
||||||
|
Bin 4: [ 0]( 0.00%) |
|
||||||
|
Bin 5: [ 1]( 0.01%) |
|
||||||
|
Bin 6: [ 1]( 0.01%) |
|
||||||
|
Bin 7: [ 1]( 0.01%) |
|
||||||
|
Bin 8: [ 3]( 0.03%) |
|
||||||
|
Bin 9: [ 2]( 0.02%) |
|
||||||
|
Bin 10: [ 5]( 0.05%) | *
|
||||||
|
Bin 11: [ 6]( 0.06%) | *
|
||||||
|
Bin 12: [ 0]( 0.00%) |
|
||||||
|
Bin 13: [ 4]( 0.04%) |
|
||||||
|
Bin 14: [ 3]( 0.03%) |
|
||||||
|
Bin 15: [ 5]( 0.05%) | *
|
||||||
|
Bin 16: [ 14]( 0.14%) | **
|
||||||
|
Bin 17: [ 20]( 0.20%) | ****
|
||||||
|
Bin 18: [ 18]( 0.18%) | ***
|
||||||
|
Bin 19: [ 19]( 0.19%) | ***
|
||||||
|
Bin 20: [ 20]( 0.20%) | ****
|
||||||
|
Bin 21: [ 24]( 0.24%) | ****
|
||||||
|
Bin 22: [ 27]( 0.27%) | *****
|
||||||
|
Bin 23: [ 33]( 0.33%) | ******
|
||||||
|
Bin 24: [ 43]( 0.43%) | ********
|
||||||
|
Bin 25: [ 43]( 0.43%) | ********
|
||||||
|
Bin 26: [ 46]( 0.46%) | *********
|
||||||
|
Bin 27: [ 71]( 0.71%) | **************
|
||||||
|
Bin 28: [ 66]( 0.66%) | *************
|
||||||
|
Bin 29: [ 81]( 0.81%) | ****************
|
||||||
|
Bin 30: [ 86]( 0.86%) | *****************
|
||||||
|
Bin 31: [ 124]( 1.24%) | ************************
|
||||||
|
Bin 32: [ 109]( 1.09%) | *********************
|
||||||
|
Bin 33: [ 156]( 1.56%) | *******************************
|
||||||
|
Bin 34: [ 131]( 1.31%) | **************************
|
||||||
|
Bin 35: [ 152]( 1.52%) | ******************************
|
||||||
|
Bin 36: [ 191]( 1.91%) | **************************************
|
||||||
|
Bin 37: [ 177]( 1.77%) | ***********************************
|
||||||
|
Bin 38: [ 183]( 1.83%) | ************************************
|
||||||
|
Bin 39: [ 211]( 2.11%) | ******************************************
|
||||||
|
Bin 40: [ 229]( 2.29%) | *********************************************
|
||||||
|
Bin 41: [ 256]( 2.56%) | ***************************************************
|
||||||
|
Bin 42: [ 246]( 2.46%) | *************************************************
|
||||||
|
Bin 43: [ 251]( 2.51%) | **************************************************
|
||||||
|
Bin 44: [ 268]( 2.68%) | *****************************************************
|
||||||
|
Bin 45: [ 274]( 2.74%) | ******************************************************
|
||||||
|
Bin 46: [ 301]( 3.01%) | ************************************************************
|
||||||
|
Bin 47: [ 311]( 3.11%) | **************************************************************
|
||||||
|
Bin 48: [ 309]( 3.09%) | *************************************************************
|
||||||
|
Bin 49: [ 289]( 2.89%) | *********************************************************
|
||||||
|
Bin 50: [ 296]( 2.96%) | ***********************************************************
|
||||||
|
Bin 51: [ 278]( 2.78%) | *******************************************************
|
||||||
|
Bin 52: [ 314]( 3.14%) | **************************************************************
|
||||||
|
Bin 53: [ 302]( 3.02%) | ************************************************************
|
||||||
|
Bin 54: [ 283]( 2.83%) | ********************************************************
|
||||||
|
Bin 55: [ 273]( 2.73%) | ******************************************************
|
||||||
|
Bin 56: [ 277]( 2.77%) | *******************************************************
|
||||||
|
Bin 57: [ 251]( 2.51%) | **************************************************
|
||||||
|
Bin 58: [ 253]( 2.53%) | **************************************************
|
||||||
|
Bin 59: [ 249]( 2.49%) | *************************************************
|
||||||
|
Bin 60: [ 235]( 2.35%) | ***********************************************
|
||||||
|
Bin 61: [ 240]( 2.40%) | ************************************************
|
||||||
|
Bin 62: [ 182]( 1.82%) | ************************************
|
||||||
|
Bin 63: [ 196]( 1.96%) | ***************************************
|
||||||
|
Bin 64: [ 177]( 1.77%) | ***********************************
|
||||||
|
Bin 65: [ 156]( 1.56%) | *******************************
|
||||||
|
Bin 66: [ 158]( 1.58%) | *******************************
|
||||||
|
Bin 67: [ 141]( 1.41%) | ****************************
|
||||||
|
Bin 68: [ 114]( 1.14%) | **********************
|
||||||
|
Bin 69: [ 106]( 1.06%) | *********************
|
||||||
|
Bin 70: [ 107]( 1.07%) | *********************
|
||||||
|
Bin 71: [ 83]( 0.83%) | ****************
|
||||||
|
Bin 72: [ 63]( 0.63%) | ************
|
||||||
|
Bin 73: [ 67]( 0.67%) | *************
|
||||||
|
Bin 74: [ 56]( 0.56%) | ***********
|
||||||
|
Bin 75: [ 71]( 0.71%) | **************
|
||||||
|
Bin 76: [ 43]( 0.43%) | ********
|
||||||
|
Bin 77: [ 33]( 0.33%) | ******
|
||||||
|
Bin 78: [ 28]( 0.28%) | *****
|
||||||
|
Bin 79: [ 31]( 0.31%) | ******
|
||||||
|
Bin 80: [ 26]( 0.26%) | *****
|
||||||
|
Bin 81: [ 27]( 0.27%) | *****
|
||||||
|
Bin 82: [ 9]( 0.09%) | *
|
||||||
|
Bin 83: [ 15]( 0.15%) | ***
|
||||||
|
Bin 84: [ 13]( 0.13%) | **
|
||||||
|
Bin 85: [ 8]( 0.08%) | *
|
||||||
|
Bin 86: [ 5]( 0.05%) | *
|
||||||
|
Bin 87: [ 5]( 0.05%) | *
|
||||||
|
Bin 88: [ 4]( 0.04%) |
|
||||||
|
Bin 89: [ 5]( 0.05%) | *
|
||||||
|
Bin 90: [ 2]( 0.02%) |
|
||||||
|
Bin 91: [ 2]( 0.02%) |
|
||||||
|
Bin 92: [ 1]( 0.01%) |
|
||||||
|
Bin 93: [ 1]( 0.01%) |
|
||||||
|
Bin 94: [ 0]( 0.00%) |
|
||||||
|
Bin 95: [ 1]( 0.01%) |
|
||||||
|
Bin 96: [ 0]( 0.00%) |
|
||||||
|
Bin 97: [ 0]( 0.00%) |
|
||||||
|
Bin 98: [ 0]( 0.00%) |
|
||||||
|
Bin 99: [ 1]( 0.01%) |
|
||||||
|
------------------------------------------------------
|
||||||
|
=== Uniform Distribution #3
|
||||||
|
------------------------------------------------------
|
||||||
|
# Histogram (n_samples: 100000, avg_bin: 1000.00) #
|
||||||
|
# (scale ref.: 4000.00 count = 80 stars) #
|
||||||
|
# min: -3.00, max: 4.00
|
||||||
|
Bin 0: [ 1000]( 1.00%) | ********************
|
||||||
|
Bin 1: [ 975]( 0.97%) | *******************
|
||||||
|
Bin 2: [ 920]( 0.92%) | ******************
|
||||||
|
Bin 3: [ 1004]( 1.00%) | ********************
|
||||||
|
Bin 4: [ 1010]( 1.01%) | ********************
|
||||||
|
Bin 5: [ 999]( 1.00%) | *******************
|
||||||
|
Bin 6: [ 1018]( 1.02%) | ********************
|
||||||
|
Bin 7: [ 958]( 0.96%) | *******************
|
||||||
|
Bin 8: [ 966]( 0.97%) | *******************
|
||||||
|
Bin 9: [ 942]( 0.94%) | ******************
|
||||||
|
Bin 10: [ 964]( 0.96%) | *******************
|
||||||
|
Bin 11: [ 1033]( 1.03%) | ********************
|
||||||
|
Bin 12: [ 1041]( 1.04%) | ********************
|
||||||
|
Bin 13: [ 956]( 0.96%) | *******************
|
||||||
|
Bin 14: [ 1001]( 1.00%) | ********************
|
||||||
|
Bin 15: [ 998]( 1.00%) | *******************
|
||||||
|
Bin 16: [ 1002]( 1.00%) | ********************
|
||||||
|
Bin 17: [ 992]( 0.99%) | *******************
|
||||||
|
Bin 18: [ 1057]( 1.06%) | *********************
|
||||||
|
Bin 19: [ 1014]( 1.01%) | ********************
|
||||||
|
Bin 20: [ 997]( 1.00%) | *******************
|
||||||
|
Bin 21: [ 1025]( 1.03%) | ********************
|
||||||
|
Bin 22: [ 1005]( 1.00%) | ********************
|
||||||
|
Bin 23: [ 992]( 0.99%) | *******************
|
||||||
|
Bin 24: [ 1015]( 1.01%) | ********************
|
||||||
|
Bin 25: [ 981]( 0.98%) | *******************
|
||||||
|
Bin 26: [ 986]( 0.99%) | *******************
|
||||||
|
Bin 27: [ 986]( 0.99%) | *******************
|
||||||
|
Bin 28: [ 1008]( 1.01%) | ********************
|
||||||
|
Bin 29: [ 1053]( 1.05%) | *********************
|
||||||
|
Bin 30: [ 1038]( 1.04%) | ********************
|
||||||
|
Bin 31: [ 1009]( 1.01%) | ********************
|
||||||
|
Bin 32: [ 1010]( 1.01%) | ********************
|
||||||
|
Bin 33: [ 1023]( 1.02%) | ********************
|
||||||
|
Bin 34: [ 1030]( 1.03%) | ********************
|
||||||
|
Bin 35: [ 980]( 0.98%) | *******************
|
||||||
|
Bin 36: [ 995]( 1.00%) | *******************
|
||||||
|
Bin 37: [ 1028]( 1.03%) | ********************
|
||||||
|
Bin 38: [ 1000]( 1.00%) | ********************
|
||||||
|
Bin 39: [ 999]( 1.00%) | *******************
|
||||||
|
Bin 40: [ 987]( 0.99%) | *******************
|
||||||
|
Bin 41: [ 960]( 0.96%) | *******************
|
||||||
|
Bin 42: [ 1045]( 1.04%) | ********************
|
||||||
|
Bin 43: [ 1089]( 1.09%) | *********************
|
||||||
|
Bin 44: [ 1026]( 1.03%) | ********************
|
||||||
|
Bin 45: [ 995]( 1.00%) | *******************
|
||||||
|
Bin 46: [ 991]( 0.99%) | *******************
|
||||||
|
Bin 47: [ 970]( 0.97%) | *******************
|
||||||
|
Bin 48: [ 994]( 0.99%) | *******************
|
||||||
|
Bin 49: [ 1006]( 1.01%) | ********************
|
||||||
|
Bin 50: [ 963]( 0.96%) | *******************
|
||||||
|
Bin 51: [ 1045]( 1.04%) | ********************
|
||||||
|
Bin 52: [ 1024]( 1.02%) | ********************
|
||||||
|
Bin 53: [ 986]( 0.99%) | *******************
|
||||||
|
Bin 54: [ 936]( 0.94%) | ******************
|
||||||
|
Bin 55: [ 990]( 0.99%) | *******************
|
||||||
|
Bin 56: [ 1016]( 1.02%) | ********************
|
||||||
|
Bin 57: [ 982]( 0.98%) | *******************
|
||||||
|
Bin 58: [ 1033]( 1.03%) | ********************
|
||||||
|
Bin 59: [ 1017]( 1.02%) | ********************
|
||||||
|
Bin 60: [ 1028]( 1.03%) | ********************
|
||||||
|
Bin 61: [ 921]( 0.92%) | ******************
|
||||||
|
Bin 62: [ 994]( 0.99%) | *******************
|
||||||
|
Bin 63: [ 1030]( 1.03%) | ********************
|
||||||
|
Bin 64: [ 1006]( 1.01%) | ********************
|
||||||
|
Bin 65: [ 1032]( 1.03%) | ********************
|
||||||
|
Bin 66: [ 995]( 1.00%) | *******************
|
||||||
|
Bin 67: [ 963]( 0.96%) | *******************
|
||||||
|
Bin 68: [ 998]( 1.00%) | *******************
|
||||||
|
Bin 69: [ 990]( 0.99%) | *******************
|
||||||
|
Bin 70: [ 943]( 0.94%) | ******************
|
||||||
|
Bin 71: [ 967]( 0.97%) | *******************
|
||||||
|
Bin 72: [ 1047]( 1.05%) | ********************
|
||||||
|
Bin 73: [ 1018]( 1.02%) | ********************
|
||||||
|
Bin 74: [ 986]( 0.99%) | *******************
|
||||||
|
Bin 75: [ 1011]( 1.01%) | ********************
|
||||||
|
Bin 76: [ 950]( 0.95%) | *******************
|
||||||
|
Bin 77: [ 956]( 0.96%) | *******************
|
||||||
|
Bin 78: [ 999]( 1.00%) | *******************
|
||||||
|
Bin 79: [ 981]( 0.98%) | *******************
|
||||||
|
Bin 80: [ 975]( 0.97%) | *******************
|
||||||
|
Bin 81: [ 960]( 0.96%) | *******************
|
||||||
|
Bin 82: [ 1016]( 1.02%) | ********************
|
||||||
|
Bin 83: [ 1026]( 1.03%) | ********************
|
||||||
|
Bin 84: [ 993]( 0.99%) | *******************
|
||||||
|
Bin 85: [ 1022]( 1.02%) | ********************
|
||||||
|
Bin 86: [ 989]( 0.99%) | *******************
|
||||||
|
Bin 87: [ 955]( 0.95%) | *******************
|
||||||
|
Bin 88: [ 994]( 0.99%) | *******************
|
||||||
|
Bin 89: [ 997]( 1.00%) | *******************
|
||||||
|
Bin 90: [ 1002]( 1.00%) | ********************
|
||||||
|
Bin 91: [ 1039]( 1.04%) | ********************
|
||||||
|
Bin 92: [ 1008]( 1.01%) | ********************
|
||||||
|
Bin 93: [ 1080]( 1.08%) | *********************
|
||||||
|
Bin 94: [ 1054]( 1.05%) | *********************
|
||||||
|
Bin 95: [ 987]( 0.99%) | *******************
|
||||||
|
Bin 96: [ 1047]( 1.05%) | ********************
|
||||||
|
Bin 97: [ 975]( 0.97%) | *******************
|
||||||
|
Bin 98: [ 1027]( 1.03%) | ********************
|
||||||
|
Bin 99: [ 974]( 0.97%) | *******************
|
||||||
|
------------------------------------------------------
|
||||||
|
=== Gaussian Distribution #3
|
||||||
|
------------------------------------------------------
|
||||||
|
# Histogram (n_samples: 100000, avg_bin: 1000.00) #
|
||||||
|
# (scale ref.: 4000.00 count = 80 stars) #
|
||||||
|
# min: -6.38, max: 7.31
|
||||||
|
Bin 0: [ 1]( 0.00%) |
|
||||||
|
Bin 1: [ 0]( 0.00%) |
|
||||||
|
Bin 2: [ 0]( 0.00%) |
|
||||||
|
Bin 3: [ 0]( 0.00%) |
|
||||||
|
Bin 4: [ 0]( 0.00%) |
|
||||||
|
Bin 5: [ 1]( 0.00%) |
|
||||||
|
Bin 6: [ 1]( 0.00%) |
|
||||||
|
Bin 7: [ 6]( 0.01%) |
|
||||||
|
Bin 8: [ 2]( 0.00%) |
|
||||||
|
Bin 9: [ 2]( 0.00%) |
|
||||||
|
Bin 10: [ 5]( 0.01%) |
|
||||||
|
Bin 11: [ 5]( 0.01%) |
|
||||||
|
Bin 12: [ 15]( 0.01%) |
|
||||||
|
Bin 13: [ 9]( 0.01%) |
|
||||||
|
Bin 14: [ 23]( 0.02%) |
|
||||||
|
Bin 15: [ 30]( 0.03%) |
|
||||||
|
Bin 16: [ 27]( 0.03%) |
|
||||||
|
Bin 17: [ 48]( 0.05%) |
|
||||||
|
Bin 18: [ 54]( 0.05%) | *
|
||||||
|
Bin 19: [ 76]( 0.08%) | *
|
||||||
|
Bin 20: [ 108]( 0.11%) | **
|
||||||
|
Bin 21: [ 119]( 0.12%) | **
|
||||||
|
Bin 22: [ 145]( 0.14%) | **
|
||||||
|
Bin 23: [ 171]( 0.17%) | ***
|
||||||
|
Bin 24: [ 230]( 0.23%) | ****
|
||||||
|
Bin 25: [ 281]( 0.28%) | *****
|
||||||
|
Bin 26: [ 345]( 0.34%) | ******
|
||||||
|
Bin 27: [ 419]( 0.42%) | ********
|
||||||
|
Bin 28: [ 486]( 0.49%) | *********
|
||||||
|
Bin 29: [ 609]( 0.61%) | ************
|
||||||
|
Bin 30: [ 734]( 0.73%) | **************
|
||||||
|
Bin 31: [ 837]( 0.84%) | ****************
|
||||||
|
Bin 32: [ 983]( 0.98%) | *******************
|
||||||
|
Bin 33: [ 1140]( 1.14%) | **********************
|
||||||
|
Bin 34: [ 1308]( 1.31%) | **************************
|
||||||
|
Bin 35: [ 1529]( 1.53%) | ******************************
|
||||||
|
Bin 36: [ 1671]( 1.67%) | *********************************
|
||||||
|
Bin 37: [ 1882]( 1.88%) | *************************************
|
||||||
|
Bin 38: [ 2066]( 2.07%) | *****************************************
|
||||||
|
Bin 39: [ 2333]( 2.33%) | **********************************************
|
||||||
|
Bin 40: [ 2418]( 2.42%) | ************************************************
|
||||||
|
Bin 41: [ 2692]( 2.69%) | *****************************************************
|
||||||
|
Bin 42: [ 2700]( 2.70%) | ******************************************************
|
||||||
|
Bin 43: [ 3041]( 3.04%) | ************************************************************
|
||||||
|
Bin 44: [ 3085]( 3.08%) | *************************************************************
|
||||||
|
Bin 45: [ 3297]( 3.30%) | *****************************************************************
|
||||||
|
Bin 46: [ 3395]( 3.40%) | *******************************************************************
|
||||||
|
Bin 47: [ 3595]( 3.60%) | ***********************************************************************
|
||||||
|
Bin 48: [ 3579]( 3.58%) | ***********************************************************************
|
||||||
|
Bin 49: [ 3591]( 3.59%) | ***********************************************************************
|
||||||
|
Bin 50: [ 3624]( 3.62%) | ************************************************************************
|
||||||
|
Bin 51: [ 3587]( 3.59%) | ***********************************************************************
|
||||||
|
Bin 52: [ 3603]( 3.60%) | ************************************************************************
|
||||||
|
Bin 53: [ 3451]( 3.45%) | *********************************************************************
|
||||||
|
Bin 54: [ 3365]( 3.36%) | *******************************************************************
|
||||||
|
Bin 55: [ 3183]( 3.18%) | ***************************************************************
|
||||||
|
Bin 56: [ 3135]( 3.14%) | **************************************************************
|
||||||
|
Bin 57: [ 3000]( 3.00%) | ************************************************************
|
||||||
|
Bin 58: [ 2661]( 2.66%) | *****************************************************
|
||||||
|
Bin 59: [ 2580]( 2.58%) | ***************************************************
|
||||||
|
Bin 60: [ 2342]( 2.34%) | **********************************************
|
||||||
|
Bin 61: [ 2176]( 2.18%) | *******************************************
|
||||||
|
Bin 62: [ 1952]( 1.95%) | ***************************************
|
||||||
|
Bin 63: [ 1747]( 1.75%) | **********************************
|
||||||
|
Bin 64: [ 1571]( 1.57%) | *******************************
|
||||||
|
Bin 65: [ 1379]( 1.38%) | ***************************
|
||||||
|
Bin 66: [ 1222]( 1.22%) | ************************
|
||||||
|
Bin 67: [ 1032]( 1.03%) | ********************
|
||||||
|
Bin 68: [ 918]( 0.92%) | ******************
|
||||||
|
Bin 69: [ 778]( 0.78%) | ***************
|
||||||
|
Bin 70: [ 662]( 0.66%) | *************
|
||||||
|
Bin 71: [ 552]( 0.55%) | ***********
|
||||||
|
Bin 72: [ 505]( 0.51%) | **********
|
||||||
|
Bin 73: [ 356]( 0.36%) | *******
|
||||||
|
Bin 74: [ 325]( 0.33%) | ******
|
||||||
|
Bin 75: [ 244]( 0.24%) | ****
|
||||||
|
Bin 76: [ 219]( 0.22%) | ****
|
||||||
|
Bin 77: [ 163]( 0.16%) | ***
|
||||||
|
Bin 78: [ 133]( 0.13%) | **
|
||||||
|
Bin 79: [ 96]( 0.10%) | *
|
||||||
|
Bin 80: [ 84]( 0.08%) | *
|
||||||
|
Bin 81: [ 75]( 0.07%) | *
|
||||||
|
Bin 82: [ 49]( 0.05%) |
|
||||||
|
Bin 83: [ 39]( 0.04%) |
|
||||||
|
Bin 84: [ 27]( 0.03%) |
|
||||||
|
Bin 85: [ 23]( 0.02%) |
|
||||||
|
Bin 86: [ 10]( 0.01%) |
|
||||||
|
Bin 87: [ 7]( 0.01%) |
|
||||||
|
Bin 88: [ 10]( 0.01%) |
|
||||||
|
Bin 89: [ 8]( 0.01%) |
|
||||||
|
Bin 90: [ 2]( 0.00%) |
|
||||||
|
Bin 91: [ 3]( 0.00%) |
|
||||||
|
Bin 92: [ 4]( 0.00%) |
|
||||||
|
Bin 93: [ 1]( 0.00%) |
|
||||||
|
Bin 94: [ 1]( 0.00%) |
|
||||||
|
Bin 95: [ 0]( 0.00%) |
|
||||||
|
Bin 96: [ 0]( 0.00%) |
|
||||||
|
Bin 97: [ 1]( 0.00%) |
|
||||||
|
Bin 98: [ 0]( 0.00%) |
|
||||||
|
Bin 99: [ 1]( 0.00%) |
|
||||||
|
------------------------------------------------------
|
||||||
69
hws/hw4/rng.c
Normal file
69
hws/hw4/rng.c
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
|
#include "rng.h"
|
||||||
|
|
||||||
|
#ifndef M_PI
|
||||||
|
#define M_PI 3.14159265358979323846
|
||||||
|
#endif
|
||||||
|
|
||||||
|
float _rng_next_float(rng *rng) {
|
||||||
|
uint64_t state = (uint64_t)rng->seed;
|
||||||
|
|
||||||
|
state = (6364136223846793005ULL * state) + 1ULL;
|
||||||
|
|
||||||
|
rng->seed = (int64_t)state;
|
||||||
|
|
||||||
|
uint32_t high_bits = (uint32_t)(state >> 40);
|
||||||
|
|
||||||
|
return (float)high_bits * (1.0f / 16777216.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
rng *get_rng(int64_t seed) {
|
||||||
|
rng *r = (rng *)malloc(sizeof(rng));
|
||||||
|
if (r == NULL) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
r->seed = seed;
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
void free_rng(rng* rng) {
|
||||||
|
free(rng);
|
||||||
|
}
|
||||||
|
|
||||||
|
float rng_uniform(rng *rng, float a, float b) {
|
||||||
|
float r = _rng_next_float(rng);
|
||||||
|
|
||||||
|
return a + r * (b - a);
|
||||||
|
}
|
||||||
|
|
||||||
|
float rng_gaussian(rng *rng, float m, float s) {
|
||||||
|
static int has_spare = 0;
|
||||||
|
static float spare;
|
||||||
|
|
||||||
|
if (has_spare) {
|
||||||
|
has_spare = 0;
|
||||||
|
return m + s * spare;
|
||||||
|
}
|
||||||
|
|
||||||
|
has_spare = 1;
|
||||||
|
float u1, u2;
|
||||||
|
|
||||||
|
do {
|
||||||
|
u1 = _rng_next_float(rng);
|
||||||
|
} while (u1 == 0.0f);
|
||||||
|
|
||||||
|
u2 = _rng_next_float(rng);
|
||||||
|
|
||||||
|
float mag = s * sqrt(-2.0f * log(u1));
|
||||||
|
float z1 = mag * cos(2.0f * M_PI * u2) + m;
|
||||||
|
float z2 = mag * sin(2.0f * M_PI * u2);
|
||||||
|
|
||||||
|
mag = sqrt(-2.0f * log(u1));
|
||||||
|
z1 = mag * cos(2.0f * M_PI * u2);
|
||||||
|
spare = mag * sin(2.0f * M_PI * u2);
|
||||||
|
|
||||||
|
return m + s * z1;
|
||||||
|
}
|
||||||
15
hws/hw4/rng.h
Normal file
15
hws/hw4/rng.h
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
typedef struct rng {
|
||||||
|
int64_t seed;
|
||||||
|
} rng;
|
||||||
|
|
||||||
|
rng *get_rng(int64_t seed);
|
||||||
|
|
||||||
|
void free_rng(rng* rng);
|
||||||
|
|
||||||
|
float rng_uniform(rng *rng, float a, float b);
|
||||||
|
|
||||||
|
float rng_gaussian(rng *rng, float m, float s);
|
||||||
|
|
||||||
90
hws/hw4/rngutil.c
Normal file
90
hws/hw4/rngutil.c
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
#include "rngutil.h"
|
||||||
|
|
||||||
|
Interval *new_interval(size_t n_int) {
|
||||||
|
Interval *x = malloc(sizeof(Interval));
|
||||||
|
x->n_interval = n_int;
|
||||||
|
x->indexed = calloc(n_int, sizeof(size_t));
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
void free_interval(Interval *x) {
|
||||||
|
free(x->indexed);
|
||||||
|
free(x);
|
||||||
|
}
|
||||||
|
|
||||||
|
void intervalizing(Interval *interval, size_t n,
|
||||||
|
float *samples /* samples must be sorted */) {
|
||||||
|
|
||||||
|
float lo = samples[0];
|
||||||
|
float hi = samples[n - 1];
|
||||||
|
|
||||||
|
float dx = (hi - lo) / interval->n_interval;
|
||||||
|
|
||||||
|
float curr = lo + dx;
|
||||||
|
|
||||||
|
size_t i = 0;
|
||||||
|
size_t ind = 0;
|
||||||
|
while (i < n) {
|
||||||
|
if (samples[i] < curr) {
|
||||||
|
i++;
|
||||||
|
} else {
|
||||||
|
if (ind == interval->n_interval - 1) {
|
||||||
|
interval->indexed[ind] = n;
|
||||||
|
} else {
|
||||||
|
interval->indexed[ind] = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
ind++;
|
||||||
|
curr = lo + (ind + 1) * dx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (interval->indexed[interval->n_interval - 1] != n) {
|
||||||
|
interval->indexed[interval->n_interval - 1] = n;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void print_histogram(Interval *interval, size_t n, float *samples) {
|
||||||
|
size_t n_interval = interval->n_interval;
|
||||||
|
size_t prev_cum_count = 0;
|
||||||
|
|
||||||
|
const int MAX_STARS = 80;
|
||||||
|
|
||||||
|
double avg_count = (double) n / (double) n_interval;
|
||||||
|
double scale_max = avg_count * 4;
|
||||||
|
printf("------------------------------------------------------\n");
|
||||||
|
printf("# Histogram (n_samples: %zu, avg_bin: %.2f) #\n",
|
||||||
|
n, avg_count);
|
||||||
|
printf("# (scale ref.: %.2f count = %d stars) #\n",
|
||||||
|
scale_max, MAX_STARS);
|
||||||
|
printf("# min: %6.2f, max: %6.2f\n",
|
||||||
|
samples[0], samples[n - 1]);
|
||||||
|
size_t i, j;
|
||||||
|
for (i = 0; i < n_interval; i++) {
|
||||||
|
size_t current_cumulative_count = interval->indexed[i];
|
||||||
|
size_t individual_count = current_cumulative_count - prev_cum_count;
|
||||||
|
|
||||||
|
if (current_cumulative_count < prev_cum_count) {
|
||||||
|
printf("!\n");
|
||||||
|
individual_count = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int num_stars = (int) (((double) individual_count / scale_max) * MAX_STARS);
|
||||||
|
|
||||||
|
if (num_stars > MAX_STARS) {
|
||||||
|
num_stars = MAX_STARS;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("Bin %3zu: [%8zu](%5.2f%%) | ", i, individual_count, (double) individual_count / (double) n * 100.0);
|
||||||
|
for (j = 0; j < num_stars; j++) {
|
||||||
|
printf("*");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (num_stars == MAX_STARS && (double) individual_count > scale_max) {
|
||||||
|
printf("+");
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
|
prev_cum_count = current_cumulative_count;
|
||||||
|
}
|
||||||
|
printf("------------------------------------------------------\n");
|
||||||
|
}
|
||||||
17
hws/hw4/rngutil.h
Normal file
17
hws/hw4/rngutil.h
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#include <math.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
typedef struct Interval {
|
||||||
|
size_t n_interval;
|
||||||
|
size_t *indexed;
|
||||||
|
} Interval;
|
||||||
|
|
||||||
|
Interval *new_interval(size_t n_int);
|
||||||
|
|
||||||
|
void free_interval(Interval *x);
|
||||||
|
|
||||||
|
void intervalizing(Interval *interval, size_t n, float *samples);
|
||||||
|
|
||||||
|
void print_histogram(Interval *interval, size_t n, float* samples);
|
||||||
Reference in New Issue
Block a user