Random
Rust-CAS
Random | Rust-CAS | |
---|---|---|
11 | 4 | |
1 | 3 | |
- | - | |
4.0 | 0.0 | |
almost 1 year ago | almost 2 years ago | |
Rust | Rust | |
- | 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.
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.
Rust-CAS
-
Announcing Malachite, a new arbitrary-precision arithmetic library
I believe rust-decimal has float representation. If not Rust-CAS supports float with (via the Mpf struct) functions for addition/subtraction, multiplication/division, exponentiation and sqrts. I haven't officially released it (and won't for a while) so it's a mess of inefficient functions with no documentation but if you really want it it's functional. (I believe printing negative floats less than 1 is broken in that version)
-
Your one project with rust that you think is one of the best projects you have made.
A little computational math project, it's not my most popular library but it's certainly the largest and most capable. Planning on growing into a MacCaulay 2 style library. Not really meant as a production library though so much as a learning project and with a book/documentation for reference on computational math algorithms. (Like Geddes' book, but dumbed down and more applied)
-
Curated list of must know rust crates
Rust-CAS - General computational math library, has some functionality absent elsewhere. more a novelty than a highly-performant project like the others.
-
Announcing Savage, a computer algebra system written in Rust
The general concept behind it is to have a generalized algebra library over all datatypes (square matrices,GF, Quotient rings, polynomials, algebras in the future ) and even user-defined sets and algebraic structures. This isn't something that exists in Rust as far as I know (a lot of the individual functionality doesn't even exist in crates.io like hurwitz quaternions). Macaulay2 is probably the closest example. The repository is horribly out of date, but it shows some of the general functionality.
What are some alternatives?
nvim-bacon - bacon's companion for neovim
library-loader - [Unofficial] Samacsys Library Loader for all platforms!
gmp-wasm - Fork of the GNU Multiple Precision Arithmetic Library (GMP), suitable for compilation into WebAssembly.
RustBCA - A free, open-source Binary Collision Approximation (BCA) code for ion-material interactions including sputtering, implantation, and reflection
nextest - A next-generation test runner for Rust.
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
retro.tools-backend - Web backend for retro.tools
PGen-Rust - A rewrite of my first Password generator in rust.
ibig-rs - A big integer library in Rust with good performance.
aero - Aero is a new modern, experimental, UNIX-like operating system following the monolithic kernel design. Supporting modern PC features such as long mode, 5-level paging, and SMP (multicore), to name a few.
quickcheck - Automated property based testing for Rust (with shrinking).
resolved - A simple DNS server for home networks.