recognize +! and set-vector (#706)

"
This commit is contained in:
water111
2021-07-17 15:00:10 -04:00
committed by GitHub
parent 1e90da8e7c
commit 4989470828
48 changed files with 557 additions and 1038 deletions
@@ -319,13 +319,13 @@
)
(cond
((>= max-step step-len)
(set! (-> vec x) (+ (-> vec x) x-step))
(set! (-> vec z) (+ (-> vec z) z-step))
(+! (-> vec x) x-step)
(+! (-> vec z) z-step)
)
(else
(let ((f2-6 (/ max-step step-len)))
(set! (-> vec x) (+ (-> vec x) (* f2-6 x-step)))
(set! (-> vec z) (+ (-> vec z) (* f2-6 z-step)))
(+! (-> vec x) (* f2-6 x-step))
(+! (-> vec z) (* f2-6 z-step))
)
)
)
@@ -349,13 +349,13 @@
)
(cond
((>= max-step step-len)
(set! (-> vec y) (+ (-> vec y) y-step))
(set! (-> vec z) (+ (-> vec z) z-step))
(+! (-> vec y) y-step)
(+! (-> vec z) z-step)
)
(else
(let ((step-scale (/ max-step step-len)))
(set! (-> vec y) (+ (-> vec y) (* step-scale y-step)))
(set! (-> vec z) (+ (-> vec z) (* step-scale z-step)))
(+! (-> vec y) (* step-scale y-step))
(+! (-> vec z) (* step-scale z-step))
)
)
)
@@ -385,15 +385,15 @@
)
(cond
((>= max-step step-len)
(set! (-> vec x) (+ (-> vec x) x-step))
(set! (-> vec y) (+ (-> vec y) y-step))
(set! (-> vec z) (+ (-> vec z) z-step))
(+! (-> vec x) x-step)
(+! (-> vec y) y-step)
(+! (-> vec z) z-step)
)
(else
(let ((step-scale (/ max-step step-len)))
(set! (-> vec x) (+ (-> vec x) (* step-scale x-step)))
(set! (-> vec y) (+ (-> vec y) (* step-scale y-step)))
(set! (-> vec z) (+ (-> vec z) (* step-scale z-step)))
(+! (-> vec x) (* step-scale x-step))
(+! (-> vec y) (* step-scale y-step))
(+! (-> vec z) (* step-scale z-step))
)
)
)
@@ -1185,11 +1185,12 @@
;; definition for function rand-vu-sphere-point!
(defun rand-vu-sphere-point! ((arg0 vector) (arg1 float))
(let ((s4-0 arg0))
(set! (-> s4-0 x) (rand-vu-float-range -1.0 1.0))
(set! (-> s4-0 y) (rand-vu-float-range -1.0 1.0))
(set! (-> s4-0 z) (rand-vu-float-range -1.0 1.0))
(set! (-> s4-0 w) 1.0)
(set-vector!
arg0
(rand-vu-float-range -1.0 1.0)
(rand-vu-float-range -1.0 1.0)
(rand-vu-float-range -1.0 1.0)
1.0
)
(vector-normalize! arg0 (rand-vu-float-range 0.0 arg1))
)