forked from personal/squiggle.c
reduce num samples, start README
This commit is contained in:
parent
f5af776eb3
commit
ea80c930e6
38
README.md
Normal file
38
README.md
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
# Squiggle.c
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Why C?
|
||||||
|
|
||||||
|
- Because it is fast
|
||||||
|
- Because it can be made faster if need be, e.g., with a multi-threading library like OpenMP
|
||||||
|
- Because if you can implement something in C, you can implement it anywhere else
|
||||||
|
- Because it will last long
|
||||||
|
- Because the language is honest
|
||||||
|
- Because I enjoy it
|
||||||
|
|
||||||
|
## To do list
|
||||||
|
|
||||||
|
- [ ] Have some more complicated & realistic example
|
||||||
|
- [ ] Add summarization functions, like mean, std, 90% ci (or all c.i.?)
|
||||||
|
- [ ] Add README
|
||||||
|
- Schema: a function which takes a sample and manipulates it,
|
||||||
|
- and at the end, an array of samples.
|
||||||
|
- Explain boxes
|
||||||
|
- Explain individual examples
|
||||||
|
- Explain nested functions
|
||||||
|
- [ ] Publish online
|
||||||
|
|
||||||
|
## Done
|
||||||
|
|
||||||
|
- [x] Add example for only one sample
|
||||||
|
- [x] Add example for many samples
|
||||||
|
- ~~[ ] Add a custom preprocessor to allow simple nested functions that don't rely on local scope?~~
|
||||||
|
- [x] Use gcc extension to define functions nested inside main.
|
||||||
|
- [x] Chain various mixture functions
|
||||||
|
- [x] Add beta distribution
|
||||||
|
- See <https://stats.stackexchange.com/questions/502146/how-does-numpy-generate-samples-from-a-beta-distribution> for a faster method.
|
||||||
|
- ~~[-] Use OpenMP for acceleration~~
|
||||||
|
- [x] Add function to get sample when given a cdf
|
||||||
|
- [x] Don't have a single header file.
|
||||||
|
- [x] Structure project a bit better
|
Binary file not shown.
|
@ -5,7 +5,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#define NUM_SAMPLES 1000000
|
#define NUM_SAMPLES 10000
|
||||||
|
|
||||||
// Example cdf
|
// Example cdf
|
||||||
float cdf_uniform_0_1(float x)
|
float cdf_uniform_0_1(float x)
|
||||||
|
|
Binary file not shown.
|
@ -5,7 +5,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#define NUM_SAMPLES 1000000
|
#define NUM_SAMPLES 10000
|
||||||
#define STOP_BETA 1.0e-8
|
#define STOP_BETA 1.0e-8
|
||||||
#define TINY_BETA 1.0e-30
|
#define TINY_BETA 1.0e-30
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
# make run
|
# make run
|
||||||
|
|
||||||
# Compiler
|
# Compiler
|
||||||
CC=gcc # required for nested functions
|
# CC=gcc # required for nested functions
|
||||||
# CC=tcc # <= faster compilation
|
# CC=tcc # <= faster compilation
|
||||||
|
|
||||||
# Main file
|
# Main file
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#define EXIT_ON_ERROR 0
|
#define EXIT_ON_ERROR 0
|
||||||
#define MAX_ERROR_LENGTH 500
|
#define MAX_ERROR_LENGTH 500
|
||||||
#define PROCESS_ERROR(...) \
|
#define PROCESS_ERROR(...) \
|
||||||
|
|
16
to-do.md
16
to-do.md
|
@ -1,16 +0,0 @@
|
||||||
|
|
||||||
- [x] Add example for only one sample
|
|
||||||
- [x] Add example for many samples
|
|
||||||
- ~~[ ] Add a custom preprocessor to allow simple nested functions that don't rely on local scope?~~
|
|
||||||
- [x] Use gcc extension to define functions nested inside main.
|
|
||||||
- [x] Chain various mixture functions
|
|
||||||
- [ ] Have some more complicated & realistic example
|
|
||||||
- [ ] Add summarization functions, like mean, std, 90% ci (or all c.i.?)
|
|
||||||
- [x] Add beta distribution
|
|
||||||
- See <https://stats.stackexchange.com/questions/502146/how-does-numpy-generate-samples-from-a-beta-distribution> for a faster method.
|
|
||||||
- [ ] Use OpenMP for acceleration
|
|
||||||
- [x] Add function to get sample when given a cdf
|
|
||||||
- [ ] Don't have a single header file.
|
|
||||||
- [ ] Structure project a bit better
|
|
||||||
- [ ] Add README
|
|
||||||
- [ ] Publish
|
|
Loading…
Reference in New Issue
Block a user