Vector2

/=

defn

(λ [a, a] Bool)

=

defn

(λ [(Ref V2), (Ref V2)] Bool)

V2

module

Module

add

defn

(λ [(Ref V2), (Ref V2)] V2)

angle-between

defn

(λ [(Ref V2), (Ref V2)] Double)

anti-parallel?

defn

(λ [(Ref V2), (Ref V2)] Bool)

approx

defn

(λ [(Ref V2), (Ref V2)] Bool)

dist

defn

(λ [(Ref V2), (Ref V2)] Double)

div

defn

(λ [(Ref V2), Double] V2)

dot

defn

(λ [(Ref V2), (Ref V2)] Double)

get-x

defn

(λ [(Ref V2)] Double)

get-y

defn

(λ [(Ref V2)] Double)

heading

defn

(λ [(Ref V2)] Double)

init

defn

(λ [Double, Double] V2)

lerp

defn

(λ [(Ref V2), (Ref V2), Double] V2)

mag

defn

(λ [(Ref V2)] Double)

mag-sq

defn

(λ [(Ref V2)] Double)

mul

defn

(λ [(Ref V2), Double] V2)

normalize

defn

(λ [(Ref V2)] V2)

parallel?

defn

(λ [(Ref V2), (Ref V2)] Bool)

perpendicular?

defn

(λ [(Ref V2), (Ref V2)] Bool)

random

defn

(λ [] V2)

rotate

defn

(λ [(Ref V2), Double] V2)

set-x

defn

(λ [V2, Double] V2)

set-y

defn

(λ [V2, Double] V2)

sub

defn

(λ [(Ref V2), (Ref V2)] V2)

to-string

defn

(λ [(Ref V2)] String)

zero

defn

(λ [] V2)