forked from personal/squiggle.c
further README cleanup
This commit is contained in:
parent
1bcb04c356
commit
2740413bb4
|
@ -17,7 +17,7 @@ squiggle.c is a self-contained C99 library that provides functions for simple Mo
|
||||||
- Because C is honest
|
- Because C is honest
|
||||||
- Because it will last long
|
- Because it will last long
|
||||||
- Because it can be made faster if need be, e.g., with a multi-threading library like OpenMP, by implementing faster but more complex algorithms, or more simply, by inlining the sampling functions (adding an `inline` directive before their function declaration)
|
- Because it can be made faster if need be, e.g., with a multi-threading library like OpenMP, by implementing faster but more complex algorithms, or more simply, by inlining the sampling functions (adding an `inline` directive before their function declaration)
|
||||||
- **Because there are few abstractions between it and machine code** (C => assembly => machine code with gcc, or C => machine code, with tcc), leading to fewer errors beyond the programmer's control.
|
- Because there are few abstractions between it and machine code (C => assembly => machine code with gcc, or C => machine code, with tcc), leading to fewer errors beyond the programmer's control.
|
||||||
- Because it can fit in my head
|
- Because it can fit in my head
|
||||||
- Because if you can implement something in C, you can implement it anywhere else
|
- Because if you can implement something in C, you can implement it anywhere else
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ squiggle.c is a self-contained C99 library that provides functions for simple Mo
|
||||||
This code should aim to be correct, then simple, then fast.
|
This code should aim to be correct, then simple, then fast.
|
||||||
|
|
||||||
- It should be correct. The user should be able to rely on it and not think about whether errors come from the library.
|
- It should be correct. The user should be able to rely on it and not think about whether errors come from the library.
|
||||||
- Nonetheless, the user should understand the limitations of sampling-based methods. See the section on [Tests and the long tail of the lognormal](https://git.nunosempere.com/personal/squiggle.c/FOLK_WISDOM.md#tests-and-the-long-tail-of-the-lognormal) for a discussion of how sampling is bad at capturing some aspects of distributions with long tails.
|
- Nonetheless, the user should understand the limitations of sampling-based methods. See the section on [Tests and the long tail of the lognormal](https://git.nunosempere.com/personal/squiggle.c/src/branch/master/FOLK_WISDOM.md#tests-and-the-long-tail-of-the-lognormal) for a discussion of how sampling is bad at capturing some aspects of distributions with long tails.
|
||||||
- It should be clear, conceptually simple. Simple for me to implement, simple for others to understand.
|
- It should be clear, conceptually simple. Simple for me to implement, simple for others to understand.
|
||||||
- It should be fast. But when speed conflicts with simplicity, choose simplicity. For example, there might be several possible algorithms to sample a distribution, each of which is faster over part of the domain. In that case, it's conceptually simpler to just pick one algorithm, and pay the—normally small—performance penalty.
|
- It should be fast. But when speed conflicts with simplicity, choose simplicity. For example, there might be several possible algorithms to sample a distribution, each of which is faster over part of the domain. In that case, it's conceptually simpler to just pick one algorithm, and pay the—normally small—performance penalty.
|
||||||
- In any case, though, the code should still be *way faster* than, say, Python.
|
- In any case, though, the code should still be *way faster* than, say, Python.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user