formula

package
v0.3.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 31, 2021 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Basic

type Basic struct {
	// contains filtered or unexported fields
}

Базовая функция удовлетворяющая интерфейсу Formula Имеет вид rate-10+0.0002*(now-start)^1.2 Парсится через regexp patternBasic

func NewBasic

func NewBasic(s string, rate decimal.Decimal, start time.Time) (*Basic, error)

По заданной строке определяется является ли она формулой этого вида Создаёт и возвращает указатель на структуру, если да

func (*Basic) Alter added in v0.1.0

func (f *Basic) Alter(s string) error

Меняет формулу сохранняя значения rate и start прежними

func (*Basic) Calc

func (f *Basic) Calc(now time.Time) decimal.Decimal

Calc(now) Вычисляет значение в точке now

func (*Basic) Rate

func (f *Basic) Rate() decimal.Decimal

func (*Basic) Start

func (f *Basic) Start() time.Time

func (*Basic) String added in v0.1.0

func (f *Basic) String() string

type Formula

type Formula interface {
	Calc(now time.Time) decimal.Decimal // Возвращает значение в точке now в decimal.Decimal
	Start() time.Time                   // Возвращает значение параметра start
	Rate() decimal.Decimal              // Возвращает значение параметра rate
	String() string                     // Возвращает формулу в виде строки
	Alter(s string) error               // Заменяет формулу на новую, сохраняя старые rate и start
}

Интерфейс описывает функцию от одной переменной now с заданными парамтерами start и rate По смыслу start и rate задают время активации триггера и начальный курс now - текущее время Для start и now используется формат time.Unix Пример: rate-10+0.0002*(now-start)^1.2 now float64 - это костыль для построения графика, пока нет возможности с этим что-то сделать

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL