GOTTEM
This commit is contained in:
@@ -113,9 +113,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if r.URL.Query().Get("bpi") != "" {
|
if r.URL.Query().Get("bpi") != "" {
|
||||||
for date := range register {
|
register = register.WithBPIs(bpis)
|
||||||
register[date] = register[date].WithBPIs(bpis)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// /MODIFIERS
|
// /MODIFIERS
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ type Balances map[string]Balance
|
|||||||
type Balance map[Currency]float64
|
type Balance map[Currency]float64
|
||||||
|
|
||||||
func (balances Balances) WithBPIs(bpis BPIs) Balances {
|
func (balances Balances) WithBPIs(bpis BPIs) Balances {
|
||||||
|
return balances.WithBPIsAt(bpis, "9")
|
||||||
|
}
|
||||||
|
|
||||||
|
func (balances Balances) WithBPIsAt(bpis BPIs, date string) Balances {
|
||||||
result := make(Balances)
|
result := make(Balances)
|
||||||
for k, v := range balances {
|
for k, v := range balances {
|
||||||
if _, ok := result[k]; !ok {
|
if _, ok := result[k]; !ok {
|
||||||
@@ -18,7 +22,7 @@ func (balances Balances) WithBPIs(bpis BPIs) Balances {
|
|||||||
for k2, v2 := range v {
|
for k2, v2 := range v {
|
||||||
scalar := 1.0
|
scalar := 1.0
|
||||||
if k2 != USD {
|
if k2 != USD {
|
||||||
scalar = bpis[k2].Lookup("9")
|
scalar = bpis[k2].Lookup(date)
|
||||||
}
|
}
|
||||||
result[k][USD] += v2 * scalar
|
result[k][USD] += v2 * scalar
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,14 @@ import (
|
|||||||
|
|
||||||
type Register map[string]Balances
|
type Register map[string]Balances
|
||||||
|
|
||||||
|
func (register Register) WithBPIs(bpis BPIs) Register {
|
||||||
|
result := make(Register)
|
||||||
|
for d := range register {
|
||||||
|
result[d] = register[d].WithBPIsAt(bpis, d)
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
func (register Register) PushAll(other Register) {
|
func (register Register) PushAll(other Register) {
|
||||||
for date := range other {
|
for date := range other {
|
||||||
if _, ok := register[date]; !ok {
|
if _, ok := register[date]; !ok {
|
||||||
|
|||||||
Reference in New Issue
Block a user