;;-*-Lisp-*- (in-package goal) ;; definition of type matrix (deftype matrix (structure) ((data float 16) (vector vector 4 :inline :overlay-at (-> data 0)) (quad uint128 4 :overlay-at (-> data 0)) (trans vector :inline :overlay-at (-> data 12)) ) (:methods (transform-vectors! (_type_ (inline-array vector) (inline-array vector) int) none) ) ) ;; definition for method 3 of type matrix ;; INFO: this function exists in multiple non-identical object files (defmethod inspect ((this matrix)) (when (not this) (set! this this) (goto cfg-4) ) (format #t "[~8x] ~A~%" this 'matrix) (format #t "~1Tdata[16] @ #x~X~%" (-> this vector)) (format #t "~1Tvector[4] @ #x~X~%" (-> this vector)) (format #t "~1Tquad[4] @ #x~X~%" (-> this vector)) (format #t "~1Ttrans: #~%" (-> this trans)) (label cfg-4) this ) ;; definition of type matrix3 (deftype matrix3 (structure) ((data float 12) (vector vector 3 :inline :overlay-at (-> data 0)) (quad uint128 3 :overlay-at (-> data 0)) ) ) ;; definition for method 3 of type matrix3 ;; INFO: this function exists in multiple non-identical object files (defmethod inspect ((this matrix3)) (when (not this) (set! this this) (goto cfg-4) ) (format #t "[~8x] ~A~%" this 'matrix3) (format #t "~1Tdata[12] @ #x~X~%" (-> this vector)) (format #t "~1Tvector[3] @ #x~X~%" (-> this vector)) (format #t "~1Tquad[3] @ #x~X~%" (-> this vector)) (label cfg-4) this ) ;; definition of type matrix4h (deftype matrix4h (structure) ((data int16 16) (vector4h vector4h 4 :inline :overlay-at (-> data 0)) (long int64 4 :overlay-at (-> data 0)) ) ) ;; definition for method 3 of type matrix4h (defmethod inspect ((this matrix4h)) (when (not this) (set! this this) (goto cfg-4) ) (format #t "[~8x] ~A~%" this 'matrix4h) (format #t "~1Tdata[16] @ #x~X~%" (-> this data)) (format #t "~1Tvector4h[4] @ #x~X~%" (-> this data)) (format #t "~1Tlong[4] @ #x~X~%" (-> this data)) (label cfg-4) this ) ;; definition for function matrix-copy! ;; INFO: Used lq/sq (defun matrix-copy! ((arg0 matrix) (arg1 matrix)) (let ((v1-0 (-> arg1 quad 0)) (a2-0 (-> arg1 quad 1)) (a3-0 (-> arg1 quad 2)) (a1-1 (-> arg1 trans quad)) ) (set! (-> arg0 quad 0) v1-0) (set! (-> arg0 quad 1) a2-0) (set! (-> arg0 quad 2) a3-0) (set! (-> arg0 trans quad) a1-1) ) arg0 ) ;; failed to figure out what this is: 0