cauldron
Kernel
cauldron | Kernel | |
---|---|---|
25 | 5 | |
117 | 35 | |
- | - | |
1.2 | 5.2 | |
about 1 year ago | about 2 months ago | |
C | C | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cauldron
-
Many floating-point numbers are in the interval (2017) [0,1]
I've previously written an algorithm that generates random floats in any [a,b], which can generate all possible floating point values, including subnormals, with the proper probability, and does so quickly for any choice of a and b. [0]
[0] https://github.com/camel-cdr/cauldron/blob/main/cauldron/ran...
-
Let's implement buffered, formatted output
The major advantage here is that you don't need to parse a dsl, and you can still have formatting options. A final api would probably use automatic compound literal struct arguments to implement default arguments with names parameters.
Type detection should also be possible, although you would need to register all print functions in a global macro.
This is just a proof of concept: https://github.com/camel-cdr/cauldron/blob/main/ideas/fmt.c
This is just a proof of concept: https://github.com/camel-cdr/cauldron/blob/main/ideas/fmt.c
-
SIMD-oriented Fast Mersenne Twister in C and non STD library discussion
It really depends on your use case, but I've written a header only PRNG library that might be interesting to you. I've also held a presentation about it, if you are interested in the specifics: "How computers generate random numbers (A guide for programmers)"
- C Posix complaint argument parsing in 42 loc, inspired by Duff's device
-
Fast Approximate Gaussian Generator
I've put it through an adapted version of testgauss.c, and it passed the test.
- Single header argument parsing, inspired by plan9's arg(3), in 45 loc
-
Designing a new PRNG (Jan 2021)
The entire romu-random.org family is faster than xoshiro256++, atleast in my benchmark:
-
Fast (pseudo) RNG?
Now for the self promo: If you are interested in random number generation, check out my presentation on the topic: https://www.youtube.com/watch?v=VHJUlRiRDCY You can also check out my random number library: https://github.com/camel-cdr/cauldron/blob/main/cauldron/random.h
-
How to Properly Benchmark C Code
For my benchmarking library, I use macros to tell the compiler not to optimize away a value, pre-running the benchmark to "warm up" the CPU/scheduler and calculate the average and deviation of multiple runs of the benchmark.
Kernel
-
Show off your (side) projects!
operating system where the kernel runs LuaJIT and the userland is in Lua
-
Let's implement buffered, formatted output
But we do specify formatting options, line 144, and we do have definitions for all ints, just not floats because we never use them anyways
-
Thank you for xmake & a couple of questions! 8^)
Although it is not arduino, I had to use a custom tool chain for building my OS, here is what I did
- What is your best project using C?
What are some alternatives?
prvhash - PRVHASH - Pseudo-Random-Value Hash. Hash functions, PRNG with unlimited period, randomness extractor, and a glimpse into abyss. (inline C/C++) (Codename Gradilac/Градилак)
MotorMC - MotorMC is a blazing fast, multi threaded, asynchronous Minecraft server software that aims to handle many players (1000+) on a single world while still providing an experience as close to vanilla Minecraft as possible.
mersenne-twister-predictor - Predict MT19937 PRNG, from preceding 624 generated numbers. There is a specialization for the "random" of Python standard library.
space-nerds-in-space - Multi-player spaceship bridge simulator. Captain your starship through adventures with your friends. See https://smcameron.github.io/space-nerds-in-space
frand - A fast userspace CSPRNG
cacule-cpu-scheduler - The CacULE CPU scheduler is based on interactivity score mechanism. The interactivity score is inspired by the ULE scheduler (FreeBSD scheduler).
Criterion - A cross-platform C and C++ unit testing framework for the 21st century
open-simplex-noise-in-c - Port of Kurt Spencer's java implementation of open simplex noise to C -- Note: This is NOT Ken Perlin's Simplex noise algorithm.
STC - A modern, user friendly, generic, type-safe and fast C99 container library: String, Vector, Sorted and Unordered Map and Set, Deque, Forward List, Smart Pointers, Bitset and Random numbers.
gaseous-giganticus - This program procedurally generates gas giant cubemap textures for the game Space Nerds In Space. https://www.patreon.com/smcameron
dieharder - A fixed version of Robert G. Brown's "dieharder" tests for random number generators.
chip-walo - CHIP-8 Emulator using C and SDL2.