src/coordinates.lisp @ f0fe6cc0a43f

GC *before* trying to allocate the next image array
author Steve Losh <steve@stevelosh.com>
date Mon, 05 Feb 2018 23:54:28 -0500
parents 55c0df99bd7a
children 148a6a1cc9eb
(in-package :flax.coordinates)

(defstruct (coord (:conc-name "")
                  (:constructor make-coord (x y)))
  (x (error "Required") :type single-float)
  (y (error "Required") :type single-float))

(defun coord (x y)
  (make-coord (coerce x 'single-float)
              (coerce y 'single-float)))

(defun distance (c1 c2)
  (+ (square (- (x c2) (x c1)))
     (square (- (y c2) (y c1)))))

(defun clerp (from to n)
  (coord (lerp (x from) (x to) n)
         (lerp (y from) (y to) n)))