Module

Data.Vector

Package
purescript-vector
Repository
jutaro/purescript-vector

#Vec Source

newtype Vec s a

Constructors

Instances

#fill Source

fill :: forall a s. EuclideanRing a => Sized s => a -> Vec s a

#fromArray Source

fromArray :: forall a s. Sized s => Array a -> Vec s a

#toArray Source

toArray :: forall a s. Vec s a -> Array a

#vAdd Source

vAdd :: forall s a. EuclideanRing a => Vec s a -> Vec s a -> Vec s a

#vSub Source

vSub :: forall s a. EuclideanRing a => Vec s a -> Vec s a -> Vec s a

#vMul Source

vMul :: forall s a. EuclideanRing a => Vec s a -> Vec s a -> Vec s a

#vNegate Source

vNegate :: forall s a. EuclideanRing a => Vec s a -> Vec s a

#direction Source

direction :: forall s. Vec s Number -> Vec s Number -> Vec s Number

The normalized direction from a to b: (a - b) / |a - b|

#vlengthSquared Source

vlengthSquared :: forall s. Vec s Number -> Number

The length of the given vector: |a|

#vlength Source

vlength :: forall s. Vec s Number -> Number

The length of the given vector: |a|

#normalize Source

normalize :: forall s. Vec s Number -> Vec s Number

A unit vector with the same direction as the given vector: a / |a|

#distanceSquared Source

distanceSquared :: forall s. Vec s Number -> Vec s Number -> Number

The distance between two vectors.

#distance Source

distance :: forall s. Vec s Number -> Vec s Number -> Number

The distance between two vectors.

#scale Source

scale :: forall s a. EuclideanRing a => a -> Vec s a -> Vec s a

Multiply the vector by a scalar: s * v

#dot Source

dot :: forall s. Vec s Number -> Vec s Number -> Number

The dot product of a and b