fixed

package
v0.0.0-...-ee0865d Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2021 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Scale     = 1 << fracBits
	MAX_VALUE = 1 << (52 - fracBits)
	MIN_VALUE = -MAX_VALUE - 1
)

Variables

View Source
var (
	NUM_0   = NewVal(0)
	NUM_1   = NewVal(Scale)
	NUM_2   = NewVal(Scale * 2)
	NUM_3   = NewVal(Scale * 3)
	MIN_NUM = NewVal(MIN_VALUE)
	MAX_NUM = NewVal(MAX_VALUE)
)

Functions

func QuadMM

func QuadMM(p *Point, q *Point) bool

func QuadMP

func QuadMP(p *Point, q *Point) bool

func QuadPM

func QuadPM(p *Point, q *Point) bool

func QuadPP

func QuadPP(p *Point, q *Point) bool

Types

type Fixed

type Fixed struct {
	// 定点数Scale后的值
	Val int64
	// contains filtered or unexported fields
}

*

  • js 只支持到53位
  • Q43.10小数部分用去了10位,剩下43位,其中1位作为正负号 *
  • todo: 考虑边界条件

func ACos

func ACos(x Fixed) Fixed

func ATan

func ATan(x Fixed) Fixed

func ATan2

func ATan2(y, x Fixed) Fixed

func Cos

func Cos(x Fixed) Fixed

func Exp

func Exp(x Fixed) Fixed

func Log

func Log(x Fixed) Fixed

func Max

func Max(args ...Fixed) Fixed

func Min

func Min(args ...Fixed) Fixed

func New

func New(x float64) Fixed

func NewFixedSlice

func NewFixedSlice(len int, value Fixed) []Fixed

func NewVal

func NewVal(val int64) Fixed

func Pow

func Pow(x Fixed, y Fixed) Fixed

func Round

func Round(x Fixed) Fixed

func Sin

func Sin(x Fixed) Fixed

func Sqrt

func Sqrt(fixed Fixed) Fixed

func Tan

func Tan(x Fixed) Fixed

func (Fixed) Abs

func (x Fixed) Abs() Fixed

func (Fixed) Add

func (x Fixed) Add(y Fixed) Fixed

func (Fixed) Addf

func (x Fixed) Addf(y float64) Fixed

func (Fixed) Ceil

func (x Fixed) Ceil() Fixed

func (Fixed) Cmp

func (x Fixed) Cmp(y Fixed) int

比较大小,1表示大于 -1表示小于 0-表示等于

func (Fixed) Cmpf

func (x Fixed) Cmpf(y float64) int

比较大小,1表示大于 -1表示小于 0-表示等于

func (Fixed) Dir

func (x Fixed) Dir() Fixed

获取数值的方向, 返回1/-1

func (Fixed) Div

func (x Fixed) Div(y Fixed) Fixed

func (Fixed) Divf

func (x Fixed) Divf(y float64) Fixed

func (Fixed) Eq

func (x Fixed) Eq(y Fixed) bool

小于等于

func (Fixed) Eqf

func (x Fixed) Eqf(y float64) bool

func (Fixed) Float64

func (x Fixed) Float64() float64

func (Fixed) Floor

func (x Fixed) Floor() Fixed

func (Fixed) Frac

func (x Fixed) Frac() float64

余数

func (Fixed) From

func (x Fixed) From(val int64) Fixed

func (Fixed) Geq

func (x Fixed) Geq(y Fixed) bool

大于等于

func (Fixed) Geqf

func (x Fixed) Geqf(y float64) bool

func (Fixed) Gt

func (x Fixed) Gt(y Fixed) bool

大于

func (Fixed) Gtf

func (x Fixed) Gtf(y float64) bool

func (Fixed) Int

func (x Fixed) Int() int

func (Fixed) Int32

func (x Fixed) Int32() int32

func (Fixed) Int64

func (x Fixed) Int64() int64

func (Fixed) Leq

func (x Fixed) Leq(y Fixed) bool

小于等于

func (Fixed) Leqf

func (x Fixed) Leqf(y float64) bool

func (Fixed) Lt

func (x Fixed) Lt(y Fixed) bool

小于

func (Fixed) Ltf

func (x Fixed) Ltf(y float64) bool

func (Fixed) Max

func (x Fixed) Max(y Fixed) Fixed

比较最大值

func (Fixed) Min

func (x Fixed) Min(y Fixed) Fixed

比较最小值

func (Fixed) Mod

func (x Fixed) Mod(y Fixed) Fixed

func (Fixed) Modf

func (x Fixed) Modf(y float64) Fixed

func (Fixed) Mul

func (x Fixed) Mul(y Fixed) Fixed

func (Fixed) Mulf

func (x Fixed) Mulf(y float64) Fixed

func (Fixed) Neg

func (x Fixed) Neg() Fixed

func (Fixed) Neq

func (x Fixed) Neq(y Fixed) bool

小于等于

func (Fixed) Neqf

func (x Fixed) Neqf(y float64) bool

func (Fixed) Pow

func (x Fixed) Pow(y Fixed) Fixed

x的y次方

func (Fixed) Powf

func (x Fixed) Powf(y float64) Fixed

x的y次方

func (Fixed) Round

func (x Fixed) Round() Fixed

func (Fixed) Sqrt

func (x Fixed) Sqrt() Fixed

func (Fixed) String

func (x Fixed) String() string

func (Fixed) Sub

func (x Fixed) Sub(y Fixed) Fixed

func (Fixed) Subf

func (x Fixed) Subf(y float64) Fixed

func (Fixed) To

func (x Fixed) To() int64

type Point

type Point struct {
	// hex q
	X Fixed
	Y Fixed
	// hex r
	Z Fixed
}

func NewPoint

func NewPoint(x, y, z Fixed) *Point

func NewPointFloat

func NewPointFloat(x, y, z float64) *Point

func (*Point) Clone

func (p *Point) Clone() *Point

func (*Point) Eq

func (p *Point) Eq(to *Point) bool

func (*Point) Ne

func (p *Point) Ne(to *Point) bool

func (*Point) String

func (p *Point) String() string

func (*Point) Tranform2D

func (p *Point) Tranform2D(x Fixed, y Fixed)

Jump to

Keyboard shortcuts

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