A fixed place numeric library designed for performance.
All numbers have a fixed 7 decimal places, and the maximum permitted value is +- 99999999999, or just under 100 billion.
The library is safe for concurrent use. It
This repository is no longer maintained. Development has moved to https://github.com/gonum/gonum.
package floats provides a set of helper routines for dealing with slices of float64. The funct
This is a Go implementation of a vanilla Kademlia DHT. The implementation is based off of a combination of the original Kademlia whitepaper and the xlattice design specification. It does not attempt to con
4/1/2015 Development for streamtools has waned as our attention has turned towards developing a language paradigm that embraces blocking, types, and more reasonable semantics. Stay tuned.
Streamtools is a
A statistics package with many functions missing from the Golang standard library. See the CHANGELOG.md for API changes and tagged releases you can vendor into your projects.
Statistics are used much like
PiHex Library generates a hexadecimal number sequence in the number Pi in the range from 0 to 1.0e10000000. To calculate using "Bailey-Borwein-Plouffe" algorithm, instructions that was published by David H. Bailey
Package goraph implements graph data structure and algorithms.
go get -v gopkg.in/gyuho/goraph.v2;
I have tutorials and visualizations of graph, tree algorithms:
Binary search tree
Go: heap, priority
gonum/plot is the new, official fork of code.google.com/p/plotinum. It provides an API for building and drawing plots in Go. Note that this new API is still in flux and may change. See the wiki for some
gohistogram - Histograms in Go
This package provides Streaming Approximate Histograms for efficient quantile approximations.
The histograms in this package are based on the algorithms found in Ben-Haim & Yom-Tov'
gofrac is a (goinstallable) fractions library for go with support for basic arithmetic.
Usage is defined in frac.go, which can be parsed by godoc.
I (Anschel Schaffer-Cohen) can be found at a
This repo provides Exponentially Weighted Moving Average algorithms, or EWMAs for short, based on our Quantifying Abnormal Behavior talk.
Exponentially Weighted Moving Average
An exponentially weigh
Go implementation of BLAS (Basic Linear Algebra Subprograms)
Any function is implemented in generic Go and if it is justified, it is optimized for AMD64 (using SSE2 instructions).
AMD64 implementation uses MOVUPS/MOVUP
Package evaler implements a simple floating point arithmetic expression evaluator.
Evaler uses Dijkstra's Shunting Yard algorithm to convert an infix expression to postfix/RP