aboutsummaryrefslogtreecommitdiffstats
path: root/ethutil/math/dist_test.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-03-06 00:21:16 +0800
committerobscuren <geffobscura@gmail.com>2015-03-06 00:21:16 +0800
commitfabaf4f1f01db773f6c0c2e9a9499736b1a40848 (patch)
tree1261024e3b79bf304a111cb85f1409d3cd6fbd04 /ethutil/math/dist_test.go
parentc47866d25174bd783ee6bcd5b400d81d7bf598bb (diff)
downloadgo-tangerine-fabaf4f1f01db773f6c0c2e9a9499736b1a40848.tar
go-tangerine-fabaf4f1f01db773f6c0c2e9a9499736b1a40848.tar.gz
go-tangerine-fabaf4f1f01db773f6c0c2e9a9499736b1a40848.tar.bz2
go-tangerine-fabaf4f1f01db773f6c0c2e9a9499736b1a40848.tar.lz
go-tangerine-fabaf4f1f01db773f6c0c2e9a9499736b1a40848.tar.xz
go-tangerine-fabaf4f1f01db773f6c0c2e9a9499736b1a40848.tar.zst
go-tangerine-fabaf4f1f01db773f6c0c2e9a9499736b1a40848.zip
wip math
Diffstat (limited to 'ethutil/math/dist_test.go')
-rw-r--r--ethutil/math/dist_test.go66
1 files changed, 66 insertions, 0 deletions
diff --git a/ethutil/math/dist_test.go b/ethutil/math/dist_test.go
new file mode 100644
index 000000000..90e302f44
--- /dev/null
+++ b/ethutil/math/dist_test.go
@@ -0,0 +1,66 @@
+package math
+
+import (
+ "fmt"
+ "math/big"
+ "testing"
+)
+
+type summer struct {
+ numbers []*big.Int
+}
+
+func (s summer) Len() int { return len(s.numbers) }
+func (s summer) Sum(i int) *big.Int {
+ return s.numbers[i]
+}
+
+func TestSum(t *testing.T) {
+ summer := summer{numbers: []*big.Int{big.NewInt(1), big.NewInt(2), big.NewInt(3)}}
+ sum := Sum(summer)
+ if sum.Cmp(big.NewInt(6)) != 0 {
+ t.Errorf("not 6", sum)
+ }
+}
+
+func TestDist(t *testing.T) {
+ var vectors = []Vector{
+ Vector{big.NewInt(1000), big.NewInt(1234)},
+ Vector{big.NewInt(500), big.NewInt(10023)},
+ Vector{big.NewInt(1034), big.NewInt(1987)},
+ Vector{big.NewInt(1034), big.NewInt(1987)},
+ Vector{big.NewInt(8983), big.NewInt(1977)},
+ Vector{big.NewInt(98382), big.NewInt(1887)},
+ Vector{big.NewInt(12398), big.NewInt(1287)},
+ Vector{big.NewInt(12398), big.NewInt(1487)},
+ Vector{big.NewInt(12398), big.NewInt(1987)},
+ Vector{big.NewInt(12398), big.NewInt(128)},
+ Vector{big.NewInt(12398), big.NewInt(1987)},
+ Vector{big.NewInt(1398), big.NewInt(187)},
+ Vector{big.NewInt(12328), big.NewInt(1927)},
+ Vector{big.NewInt(12398), big.NewInt(1987)},
+ Vector{big.NewInt(22398), big.NewInt(1287)},
+ Vector{big.NewInt(1370), big.NewInt(1981)},
+ Vector{big.NewInt(12398), big.NewInt(1957)},
+ Vector{big.NewInt(42198), big.NewInt(1987)},
+ }
+
+ VectorsBy(GasSort).Sort(vectors)
+ fmt.Println(vectors)
+
+ BP := big.NewInt(15)
+ GL := big.NewInt(1000000)
+ EP := big.NewInt(100)
+ fmt.Println("BP", BP, "GL", GL, "EP", EP)
+ GP := GasPrice(BP, GL, EP)
+ fmt.Println("GP =", GP, "Wei per GU")
+
+ S := len(vectors) / 4
+ fmt.Println("L", len(vectors), "S", S)
+ for i := 1; i <= S*4; i += S {
+ fmt.Printf("T%d = %v\n", i, vectors[i])
+ }
+
+ g := VectorSum(GasSum).Sum(vectors)
+ fmt.Printf("G = ∑g* (%v)\n", g)
+}