eqn

package
v0.0.0-...-7f94595 Latest Latest
Warning

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

Go to latest
Published: Jun 11, 2016 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ZERO = NewConstantF(0.0)
	ONE  = NewConstantF(1.0)
)

Functions

func PRK4

func PRK4(xn int, e Eqn, c, s []float64, ti, tj float64, x_in, x_out, x_tmp []float64) float64

func RK4

func RK4(e []Eqn, c [][]float64, s []float64, ti, tj float64, x_in, x_tmp, x_out []float64)

x_out is the return here, pass in so we don't have to allocate each time

Types

type Abs

type Abs struct {
	Unary
}

func NewAbs

func NewAbs(e Eqn) *Abs

func (*Abs) Clone

func (u *Abs) Clone() Eqn

func (*Abs) Eval

func (u *Abs) Eval(t float64, x, c, s []float64) float64

func (*Abs) Javascript

func (u *Abs) Javascript(dnames, snames []string, cvals []float64) string

func (*Abs) Latex

func (u *Abs) Latex(dnames, snames []string, cvals []float64) string

func (*Abs) PrettyPrint

func (u *Abs) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*Abs) String

func (u *Abs) String() string

type Add

type Add struct {
	N_ary
}

N-ary Operators

func NewAdd

func NewAdd() *Add

func (*Add) Clone

func (n *Add) Clone() Eqn

func (*Add) Eval

func (n *Add) Eval(t float64, x, c, s []float64) float64

func (*Add) Insert

func (a *Add) Insert(e Eqn)

func (*Add) Javascript

func (n *Add) Javascript(dnames, snames []string, cvals []float64) string

func (*Add) Latex

func (n *Add) Latex(dnames, snames []string, cvals []float64) string

func (*Add) PrettyPrint

func (n *Add) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*Add) String

func (n *Add) String() string

type Binary

type Binary struct {
	Eqn
	C1, C2 Eqn
}

type Constant

type Constant struct {
	Leaf
	P int
}

func NewConstant

func NewConstant(i int) *Constant

func (*Constant) Clone

func (c *Constant) Clone() Eqn

func (*Constant) Eval

func (cnst *Constant) Eval(t float64, x, c, s []float64) float64

func (*Constant) Javascript

func (c *Constant) Javascript(dnames, snames []string, cvals []float64) string

func (*Constant) Latex

func (c *Constant) Latex(dnames, snames []string, cvals []float64) string

func (*Constant) PrettyPrint

func (c *Constant) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*Constant) String

func (c *Constant) String() string

type ConstantF

type ConstantF struct {
	Leaf
	F float64
}

func NewConstantF

func NewConstantF(f float64) *ConstantF

func (*ConstantF) Clone

func (c *ConstantF) Clone() Eqn

func (*ConstantF) Eval

func (cnst *ConstantF) Eval(t float64, x, c, s []float64) float64

func (*ConstantF) Javascript

func (c *ConstantF) Javascript(dnames, snames []string, cvals []float64) string

func (*ConstantF) Latex

func (c *ConstantF) Latex(dnames, snames []string, cvals []float64) string

func (*ConstantF) PrettyPrint

func (c *ConstantF) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*ConstantF) String

func (c *ConstantF) String() string

type Cos

type Cos struct {
	Unary
}

func NewCos

func NewCos(e Eqn) *Cos

func (*Cos) Clone

func (u *Cos) Clone() Eqn

func (*Cos) Eval

func (u *Cos) Eval(t float64, x, c, s []float64) float64

func (*Cos) Javascript

func (u *Cos) Javascript(dnames, snames []string, cvals []float64) string

func (*Cos) Latex

func (u *Cos) Latex(dnames, snames []string, cvals []float64) string

func (*Cos) PrettyPrint

func (u *Cos) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*Cos) String

func (u *Cos) String() string

type DVar

type DVar struct {
	Leaf
	N int // dX_i
	//       ----
	D int // dX_j
	I int // index into the data to find this ratio (used in eval)
}

func NewDVar

func NewDVar(n, d int) *DVar

func (*DVar) Clone

func (dv *DVar) Clone() Eqn

func (*DVar) Eval

func (dv *DVar) Eval(t float64, x, c, s []float64) float64

func (*DVar) Javascript

func (dv *DVar) Javascript(dnames, snames []string, cvals []float64) string

func (*DVar) Latex

func (dv *DVar) Latex(dnames, snames []string, cvals []float64) string

func (*DVar) PrettyPrint

func (dv *DVar) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*DVar) String

func (dv *DVar) String() string

type Div

type Div struct {
	Eqn
	// Binary
	Numer Eqn
	Denom Eqn
}

func NewDiv

func NewDiv(n, d Eqn) *Div

func (*Div) Clone

func (n *Div) Clone() Eqn

func (*Div) Eval

func (n *Div) Eval(t float64, x, c, s []float64) float64

func (*Div) Javascript

func (n *Div) Javascript(dnames, snames []string, cvals []float64) string

func (*Div) Latex

func (n *Div) Latex(dnames, snames []string, cvals []float64) string

func (*Div) PrettyPrint

func (n *Div) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*Div) String

func (n *Div) String() string

type Eqn

type Eqn interface {
	Clone() Eqn

	Eval(t float64, x, c, s []float64) float64

	String() string
	PrettyPrint(dnames, snames []string, cvals []float64) string
	Latex(dnames, snames []string, cvals []float64) string
	Javascript(dnames, snames []string, cvals []float64) string
}

type Exp

type Exp struct {
	Unary
}

func NewExp

func NewExp(e Eqn) *Exp

func (*Exp) Clone

func (u *Exp) Clone() Eqn

func (*Exp) Eval

func (u *Exp) Eval(t float64, x, c, s []float64) float64

func (*Exp) Javascript

func (u *Exp) Javascript(dnames, snames []string, cvals []float64) string

func (*Exp) Latex

func (u *Exp) Latex(dnames, snames []string, cvals []float64) string

func (*Exp) PrettyPrint

func (u *Exp) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*Exp) String

func (u *Exp) String() string

type Leaf

type Leaf struct {
	Eqn
}

type Log

type Log struct {
	Unary
}

func NewLog

func NewLog(e Eqn) *Log

func (*Log) Clone

func (u *Log) Clone() Eqn

func (*Log) Eval

func (u *Log) Eval(t float64, x, c, s []float64) float64

func (*Log) Javascript

func (u *Log) Javascript(dnames, snames []string, cvals []float64) string

func (*Log) Latex

func (u *Log) Latex(dnames, snames []string, cvals []float64) string

func (*Log) PrettyPrint

func (u *Log) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*Log) String

func (u *Log) String() string

type Mul

type Mul struct {
	N_ary
}

func NewMul

func NewMul() *Mul

func (*Mul) Clone

func (n *Mul) Clone() Eqn

func (*Mul) Eval

func (n *Mul) Eval(t float64, x, c, s []float64) float64

func (*Mul) Insert

func (a *Mul) Insert(e Eqn)

func (*Mul) Javascript

func (n *Mul) Javascript(dnames, snames []string, cvals []float64) string

func (*Mul) Latex

func (n *Mul) Latex(dnames, snames []string, cvals []float64) string

func (*Mul) PrettyPrint

func (n *Mul) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*Mul) String

func (n *Mul) String() string

type N_ary

type N_ary struct {
	Eqn
	CS []Eqn
}

type Neg

type Neg struct {
	Unary
}

Unary Operators

func NewNeg

func NewNeg(e Eqn) *Neg

func (*Neg) Clone

func (u *Neg) Clone() Eqn

func (*Neg) Eval

func (u *Neg) Eval(t float64, x, c, s []float64) float64

func (*Neg) Javascript

func (u *Neg) Javascript(dnames, snames []string, cvals []float64) string

func (*Neg) Latex

func (u *Neg) Latex(dnames, snames []string, cvals []float64) string

func (*Neg) PrettyPrint

func (u *Neg) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*Neg) String

func (u *Neg) String() string

type PowE

type PowE struct {
	Eqn
	// Binary
	Base  Eqn
	Power Eqn
}

func NewPowE

func NewPowE(b, p Eqn) *PowE

func (*PowE) Clone

func (n *PowE) Clone() Eqn

func (*PowE) Eval

func (n *PowE) Eval(t float64, x, c, s []float64) float64

func (*PowE) Javascript

func (u *PowE) Javascript(dnames, snames []string, cvals []float64) string

func (*PowE) Latex

func (u *PowE) Latex(dnames, snames []string, cvals []float64) string

func (*PowE) PrettyPrint

func (u *PowE) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*PowE) String

func (n *PowE) String() string

type PowF

type PowF struct {
	Eqn
	// Unary
	Base  Eqn
	Power float64
}

func NewPowF

func NewPowF(b Eqn, f float64) *PowF

func (*PowF) Clone

func (u *PowF) Clone() Eqn

func (*PowF) Eval

func (u *PowF) Eval(t float64, x, c, s []float64) float64

func (*PowF) Javascript

func (u *PowF) Javascript(dnames, snames []string, cvals []float64) string

func (*PowF) Latex

func (u *PowF) Latex(dnames, snames []string, cvals []float64) string

func (*PowF) PrettyPrint

func (u *PowF) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*PowF) String

func (u *PowF) String() string

type PowI

type PowI struct {
	Eqn
	// Unary
	Base  Eqn
	Power int
}

Hmmm... Operators

func NewPowI

func NewPowI(e Eqn, i int) *PowI

func (*PowI) Clone

func (u *PowI) Clone() Eqn

func (*PowI) Eval

func (u *PowI) Eval(t float64, x, c, s []float64) float64

func (*PowI) Javascript

func (u *PowI) Javascript(dnames, snames []string, cvals []float64) string

func (*PowI) Latex

func (u *PowI) Latex(dnames, snames []string, cvals []float64) string

func (*PowI) PrettyPrint

func (u *PowI) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*PowI) String

func (u *PowI) String() string

type Sin

type Sin struct {
	Unary
}

func NewSin

func NewSin(e Eqn) *Sin

func (*Sin) Clone

func (u *Sin) Clone() Eqn

func (*Sin) Eval

func (u *Sin) Eval(t float64, x, c, s []float64) float64

func (*Sin) Javascript

func (u *Sin) Javascript(dnames, snames []string, cvals []float64) string

func (*Sin) Latex

func (u *Sin) Latex(dnames, snames []string, cvals []float64) string

func (*Sin) PrettyPrint

func (u *Sin) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*Sin) String

func (u *Sin) String() string

type Sqrt

type Sqrt struct {
	Unary
}

func NewSqrt

func NewSqrt(e Eqn) *Sqrt

func (*Sqrt) Clone

func (u *Sqrt) Clone() Eqn

func (*Sqrt) Eval

func (u *Sqrt) Eval(t float64, x, c, s []float64) float64

func (*Sqrt) Javascript

func (u *Sqrt) Javascript(dnames, snames []string, cvals []float64) string

func (*Sqrt) Latex

func (u *Sqrt) Latex(dnames, snames []string, cvals []float64) string

func (*Sqrt) PrettyPrint

func (u *Sqrt) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*Sqrt) String

func (u *Sqrt) String() string

type System

type System struct {
	Leaf
	P int
}

func NewSystem

func NewSystem(i int) *System

func (*System) Clone

func (s *System) Clone() Eqn

func (*System) Eval

func (sys *System) Eval(t float64, x, c, s []float64) float64

func (*System) Javascript

func (s *System) Javascript(dnames, snames []string, cvals []float64) string

func (*System) Latex

func (s *System) Latex(dnames, snames []string, cvals []float64) string

func (*System) PrettyPrint

func (s *System) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*System) String

func (s *System) String() string

type Tan

type Tan struct {
	Unary
}

func NewTan

func NewTan(e Eqn) *Tan

func (*Tan) Clone

func (u *Tan) Clone() Eqn

func (*Tan) Eval

func (u *Tan) Eval(t float64, x, c, s []float64) float64

func (*Tan) Javascript

func (u *Tan) Javascript(dnames, snames []string, cvals []float64) string

func (*Tan) Latex

func (u *Tan) Latex(dnames, snames []string, cvals []float64) string

func (*Tan) PrettyPrint

func (u *Tan) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*Tan) String

func (u *Tan) String() string

type Time

type Time struct {
	Leaf
}

Leaf Nodes

func NewTime

func NewTime() *Time

func (*Time) Clone

func (t *Time) Clone() Eqn

func (*Time) Eval

func (*Time) Eval(t float64, x, c, s []float64) float64

func (*Time) Javascript

func (t *Time) Javascript(dnames, snames []string, cvals []float64) string

func (*Time) Latex

func (t *Time) Latex(dnames, snames []string, cvals []float64) string

func (*Time) PrettyPrint

func (t *Time) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*Time) String

func (n *Time) String() string

type Unary

type Unary struct {
	Eqn
	C Eqn
}

type Var

type Var struct {
	Leaf
	P int
}

func NewVar

func NewVar(i int) *Var

func (*Var) Clone

func (v *Var) Clone() Eqn

func (*Var) Eval

func (v *Var) Eval(t float64, x, c, s []float64) float64

func (*Var) Javascript

func (v *Var) Javascript(dnames, snames []string, cvals []float64) string

func (*Var) Latex

func (v *Var) Latex(dnames, snames []string, cvals []float64) string

func (*Var) PrettyPrint

func (v *Var) PrettyPrint(dnames, snames []string, cvals []float64) string

func (*Var) String

func (v *Var) String() string

Jump to

Keyboard shortcuts

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