Random
proptest
Random | proptest | |
---|---|---|
11 | 15 | |
1 | 1,588 | |
- | 2.1% | |
4.0 | 8.3 | |
almost 1 year ago | about 2 months ago | |
Rust | Rust | |
- | Apache License 2.0 |
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.
Random
-
How do computers use imaginary numbers to give the results of things like the riemann zeta function?
Sure here is a an example (repository) (click "run" to see it work) contrasting the two in Rust, note that it is not fully symbolic, just the imaginary component. But the immediate advantage one can see is allowing direct computation without needing to modify the polynomial multiplication algorithm. (As noted in the source code, this is a purely theoretical advantage).
-
Hey Rustaceans! Got a question? Ask here (11/2023)!
I can't help you with the specific website, but here's a trivial cli implementation of Game of Life.
-
Announcing Malachite, a new arbitrary-precision arithmetic library
I've been sitting on my hands when it comes to updating my library, but if you really want a fast test, you can use some of my research/implementation for RCPrime, with creditation of course. I'm not sure what algorithms FLINT uses, but I'm fairly certain that the RCPrime implementation is the most efficient for integers less than 2^35 (requiring 64 multiplications and only one strong fermat test) even if you implement with Montgomery exponentiation.
-
Tip of the Day: Fast Division
Here is a sample implementation along with the inverses of the first 128 primes (in hex). (Except 2, which can be easily checked by the &1 trick)
-
What problems are you solving?
Not what one normally considers in CS, but producing a fast deterministic test for checking primality in the interval 0;2^64 with some extensions beyond. Fully constructing one to 2^128 is well beyond what is currently computable, however some progress has been made that surpasses published bounds.
-
What's everyone working on this week (12/2022)?
Working on developing a faster and smaller primality check in the interval 0;2^64 with tentative extensions towards 2^65. While it performs satisfactorily for the intervals currently available, reducing the memory to less than other implementations is a major challenge.
-
RFC: first Rust program (a hello world)
See this other approach for a similar engine, that utilizes a linear bitvector to model cellular automata.
-
IQpills from a grad student
You are way overthinking it. For something like minesweeper you can just model an integer lattice, and use either a 1d vector of integers to represent the positions of the mines or a 1d bitvector and check the values in the chebyshev distance of 1 from the point. (If you use integers like in the first example, your system becomes a plane of 2^32, 2^32 dimensions and is bounded by the number of mines (64-bit integers) that can fit in your RAM)
-
99 is breaking my isPrime function
You can look here for some slightly better ways to test for primality (ignore the different language).
-
In languages like C#, how long (relatively) do different common operations general take?
RAND calls a hardware source of Johnson-Nyquist noise (basically electric static), and then performs some filtering on it to make sure that it's evenly distributed. There are faster methods, like a simple "linear" rng, but they frequently don't give as good results.
proptest
-
What Are The Rust Crates You Use In Almost Every Project That They Are Practically An Extension of The Standard Library?
proptest: Property-based testing with random input generation.
-
Iterating on Testing in Rust
Isn't proptest something that could handle this?
https://github.com/proptest-rs/proptest
-
Proptest strategies the hard way
Proptest is a Rust crate for property-based testing. Recently I wanted/needed to manually implement a proptest strategy for my own type, and I realized that there is not that much material on how to do it. So I wrote a post where I tried to describe what I learned. It's a bit niche, but I hope that someone at some point will find it useful.
-
Generating combinatorial test cases
Take a look at proptest.
-
How to express Contracts in Rust?
Yes exactly, you can also add to this fuzzing and property based testing.
-
The birth of a package manager [written in Rust :)]
proptest is great! It generates random input data according to some rules, and if the input fails it saves random seed into a file so that failing inputs are guaranteed to be tested on the subsequent runs (as well as new random inputs). It also doesn't immediately stop on fail but tries to find a minimal failing input first.
-
Hey Rustaceans! Got a question? Ask here (11/2023)!
The only other crate I could find is proptest, but it looks a lot more complicated, and I don't know if lets you skip the shrinking step as quickcheck does. I've been reading the book and going through the docs, but a quick answer would be appreciated.
-
Announcing Proptest 1.1.0
We just released proptest 1.1.0, a property-testing framework for Rust. Proptest has recently found new maintainers, and this marks the first new release of proptest in ~2 years.
-
Hey Rustaceans! Got a question? Ask here! (32/2022)!
Hi, I'm working on a fuzzer, that fuzzes APIs based on OpenAPI specification. I'd like to implement shrinking. It means that when an interesting input (for the API) is found, I'd like to create the smallest possible input that still causes the same behaviour of the API. I'd like to implement a payload generation via proptest, because it already has the shrinking ability. I'm having issues implementing the JSON object as a proptest strategy. Here is what I tried so far. I explained it in a detail in stackoverflow question but it did not reach many people. Thanks for your help!
-
Which Mutex to use in this case (independent tasks, partially under contention)
Third, if you're opting out of a compile-time safety guarantee in the name of performance, test heavily (high-coverage unit tests, property testing, fuzzing, differential fuzzing, etc.) and make use of tools like Loom and Miri's runtime data race detector for unsafe code, which can catch stuff that is beyond the scope of the compiler's guarantees.
What are some alternatives?
nvim-bacon - bacon's companion for neovim
quickcheck - Automated property based testing for Rust (with shrinking).
gmp-wasm - Fork of the GNU Multiple Precision Arithmetic Library (GMP), suitable for compilation into WebAssembly.
afl.rs - 🐇 Fuzzing Rust code with American Fuzzy Lop
Rust-CAS - Rust Computer Algebra library
trust - Travis CI and AppVeyor template to test your Rust crate on 5 architectures and publish binary releases of it for Linux, macOS and Windows
nextest - A next-generation test runner for Rust.
tarpaulin - A code coverage tool for Rust projects
retro.tools-backend - Web backend for retro.tools
Clippy - A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/
ibig-rs - A big integer library in Rust with good performance.
polish - Testing Framework for Rust