mirror of
https://github.com/lukewilson2002/autotrader.git
synced 2025-08-02 21:19:33 +00:00
Fixed MORE bugs
This commit is contained in:
@@ -82,6 +82,17 @@ func (s *IndexedSeries[I]) Add(other *IndexedSeries[I]) *IndexedSeries[I] {
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *IndexedSeries[I]) AddFloat(num float64) *IndexedSeries[I] {
|
||||
for index, row := range s.index {
|
||||
newValue, err := anymath.Add(s.series.Value(row), num)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("error adding values at index %v: %w", index, err))
|
||||
}
|
||||
s.series.SetValue(row, newValue)
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
// Copy returns a copy of this series.
|
||||
func (s *IndexedSeries[I]) Copy() *IndexedSeries[I] {
|
||||
return s.CopyRange(0, -1)
|
||||
@@ -124,6 +135,17 @@ func (s *IndexedSeries[I]) Div(other *IndexedSeries[I]) *IndexedSeries[I] {
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *IndexedSeries[I]) DivFloat(num float64) *IndexedSeries[I] {
|
||||
for index, row := range s.index {
|
||||
newValue, err := anymath.Divide(s.series.Value(row), num)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("error dividing values at index %v: %w", index, err))
|
||||
}
|
||||
s.series.SetValue(row, newValue)
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *IndexedSeries[I]) Filter(f func(i int, val any) bool) *IndexedSeries[I] {
|
||||
_ = s.series.Filter(f)
|
||||
return s
|
||||
@@ -202,6 +224,17 @@ func (s *IndexedSeries[I]) Mul(other *IndexedSeries[I]) *IndexedSeries[I] {
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *IndexedSeries[I]) MulFloat(num float64) *IndexedSeries[I] {
|
||||
for index, row := range s.index {
|
||||
newValue, err := anymath.Multiply(s.series.Value(row), num)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("error multiplying values at index %v: %w", index, err))
|
||||
}
|
||||
s.series.SetValue(row, newValue)
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
// Name returns the name of the series.
|
||||
func (s *IndexedSeries[I]) Name() string {
|
||||
return s.series.Name()
|
||||
@@ -374,6 +407,17 @@ func (s *IndexedSeries[I]) Sub(other *IndexedSeries[I]) *IndexedSeries[I] {
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *IndexedSeries[I]) SubFloat(num float64) *IndexedSeries[I] {
|
||||
for index, row := range s.index {
|
||||
newValue, err := anymath.Subtract(s.series.Value(row), num)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("error subtracting values at index %v: %w", index, err))
|
||||
}
|
||||
s.series.SetValue(row, newValue)
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
// Value returns the value at the given row.
|
||||
func (s *IndexedSeries[I]) Value(i int) any {
|
||||
return s.series.Value(i)
|
||||
|
Reference in New Issue
Block a user