Add experimental rice
parent
68c9b22cef
commit
37047a3b8e
|
@ -64,6 +64,7 @@ M: float-array pprint-delims drop \ F{ \ } ;
|
||||||
M: float-array >pprint-sequence ;
|
M: float-array >pprint-sequence ;
|
||||||
M: float-array pprint* pprint-object ;
|
M: float-array pprint* pprint-object ;
|
||||||
|
|
||||||
|
! Rice
|
||||||
USING: hints math.vectors arrays ;
|
USING: hints math.vectors arrays ;
|
||||||
|
|
||||||
HINTS: vneg { float-array } { array } ;
|
HINTS: vneg { float-array } { array } ;
|
||||||
|
@ -81,3 +82,42 @@ HINTS: v. { float-array float-array } { array array } ;
|
||||||
HINTS: norm-sq { float-array } { array } ;
|
HINTS: norm-sq { float-array } { array } ;
|
||||||
HINTS: norm { float-array } { array } ;
|
HINTS: norm { float-array } { array } ;
|
||||||
HINTS: normalize { float-array } { array } ;
|
HINTS: normalize { float-array } { array } ;
|
||||||
|
|
||||||
|
! More rice. Experimental, currently causes a slowdown in raytracer
|
||||||
|
! for some odd reason.
|
||||||
|
|
||||||
|
! USING: words classes.algebra compiler.tree.propagation.info ;
|
||||||
|
!
|
||||||
|
! { v+ v- v* v/ vmax vmin } [
|
||||||
|
! [
|
||||||
|
! [ class>> float-array class<= ] both?
|
||||||
|
! float-array object ? <class-info>
|
||||||
|
! ] "outputs" set-word-prop
|
||||||
|
! ] each
|
||||||
|
!
|
||||||
|
! { n*v n/v } [
|
||||||
|
! [
|
||||||
|
! nip class>> float-array class<= float-array object ? <class-info>
|
||||||
|
! ] "outputs" set-word-prop
|
||||||
|
! ] each
|
||||||
|
!
|
||||||
|
! { v*n v/n } [
|
||||||
|
! [
|
||||||
|
! drop class>> float-array class<= float-array object ? <class-info>
|
||||||
|
! ] "outputs" set-word-prop
|
||||||
|
! ] each
|
||||||
|
!
|
||||||
|
! { vneg normalize } [
|
||||||
|
! [
|
||||||
|
! class>> float-array class<= float-array object ? <class-info>
|
||||||
|
! ] "outputs" set-word-prop
|
||||||
|
! ] each
|
||||||
|
!
|
||||||
|
! \ norm-sq [
|
||||||
|
! class>> float-array class<= float object ? <class-info>
|
||||||
|
! ] "outputs" set-word-prop
|
||||||
|
!
|
||||||
|
! \ v. [
|
||||||
|
! [ class>> float-array class<= ] both?
|
||||||
|
! float object ? <class-info>
|
||||||
|
! ] "outputs" set-word-prop
|
||||||
|
|
Loading…
Reference in New Issue