gauss
gmp-wasm
| gauss | gmp-wasm | |
|---|---|---|
| 1 | 41 | |
| 3 | 19 | |
| - | - | |
| 0.0 | 10.0 | |
| almost 3 years ago | over 5 years ago | |
| HTML | C | |
| - | 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.
gauss
-
How are infinitely large numbers represented and used like Python’s int class and Haskell’s Integer type?
You can find the python implementation for big integers at "https://github.com/python/cpython/blob/main/Objects/longobject.c". In resume, big integers are stored as linear arrays of 32 bits integers on the heap, the number is stored base 230, I dont remember exactly why they let 2 bits out, but I guess there is some edge cases when doing arithmetic that need those extra bits, this base makes it easier to speedup computations using bitwise operations and base 10 is really inefficient sinse we are working with binary computers. The algorithms in the python source are taken from "The Art of Computer Programming Volume 2" Book from Donald Knuth, I have also implemented some of those algorithms on my computer algebra system, so if you are having difficulty following the python source I recomend you give a look at "https://github.com/Marcos30004347/gauss/blob/main/gauss/Algebra/Int.hpp", there you will find some extra references as well.
gmp-wasm
-
At Amazon, Some Coders Say Their Jobs Have Begun to Resemble Warehouse Work
Amazon is going down. 20 years ago they had excellent customer service, now they are violating EU laws and cheat the gmp developers out of a CPU replacement:
https://gmplib.org/
Granlund's gcc optimizations probably save Amazon millions in electricity each year. But evidently they don't care about real programmers.
-
Is Python That Slow?
> you don't compare the languages if you run some third-party code on top of it, which has nothing to do with how the language itself is implemented
What if "the language itself" provides arbitrary precision arithmetic by wrapping GMP and GMP is not written in "the language itself" ?
https://gmplib.org/
https://hackage.haskell.org/package/integer-gmp
-
GMP Testing Discontinued Due to Aggressive Dog
For anyone wondering what GMP is:
"GMP is a free library for arbitrary precision arithmetic"
https://gmplib.org/
-
Sourcehut and Codeberg are both currently experiencing a DDoS attack
I wondered about Drew's "antagonism" last year when he claimed that Google was DDoS'ing Sourcehut, which is why sr.ht blacklisted the Go module mirror; see https://news.ycombinator.com/item?id=34310674 .
I concluded he was right after I read about ongoing problems with the GMP project, at https://gmplib.org/ : "The GMP servers has been under serious load due to a barrage of clone requests from Microsoft/Github. ... In effect, Microsoft's computer cloud performed a DDoS attack on the GMP servers. ... Our servers are fully available again, but that's the result of us adding all participating Microsoft network ranges to our firewall. We understand that we are far from the first project to take such measures against Github."
Also, you can't build projects like Sourcehut by being only an antagonist, and I can think of some pretty antagonistic CEOs of billion dollar companies.
-
A Linear Algebra Trick for Computing Fibonacci Numbers Fast
There are "bignum" implementations for every language. Though I never tested the performance impact on closed-form Fibonacci when a defined double precision >64bit is used.
https://gmplib.org/
Your code has an accidentally quadratic runtime (instead of linear). Since the array is appended to, the code regularly increases the memory region and has to move all the previous data over.
You could pre-allocate the memory as n is known ahead.
-
Under the hood: The Importance of sizeof in C and C++
Different data types can take up varying amounts of memory. Take an integer as an example, this data type usually takes up 4 bytes of memory (DWORD in x86 architecture), while a floating-point data type can take up 8 bytes (or more, depending on what compiler you are using, on that offers a lot of flexibility is GMP)
-
Microsoft's GitHub under fire for DDoSing crucial open source project website
I also disagree, and they were DDOS, so technically Microsoft broke a law.
>Granlund was not entirely satisfied with Blacker's explanation, nor the implied feebleness of the project's server(s)
So, every project needs to have a multi-million USD server Farm ? GMP is probably pulled by various Linux distros and the BSDs, along with other Misc projects. So no need for a huge server farm.
For people who do not know what it is:
https://gmplib.org/
- The GMP library's repository is under attack by a single GitHub user
- The GMP library's website is under attack by a single GitHub user
-
GMP servers are under DoS attack from Microsoft[-owned IP addresses]
The front page of https://gmplib.org/ has two other undated updates that the current server is too slow because of meltdown and they're going to replace with it with an epyc server in mid April.
What are some alternatives?
tomsfastmath - TomsFastMath is a fast public domain, open source, large integer arithmetic library written in portable ISO C.
CPython - The Python programming language
unmaintainable-code - A more maintainable, easier to share version of the infamous http://mindprod.com/jgloss/unmain.html
snes-apu - A Super Nintendo audio unit emulator.
mathlib4 - The math library of Lean 4