Float array type inference rules

db4
Slava Pestov 2008-10-17 15:35:33 -05:00
parent 239578353f
commit a57320997a
1 changed files with 35 additions and 35 deletions

View File

@ -86,38 +86,38 @@ HINTS: normalize { float-array } { array } ;
! More rice. Experimental, currently causes a slowdown in raytracer ! More rice. Experimental, currently causes a slowdown in raytracer
! for some odd reason. ! for some odd reason.
! USING: words classes.algebra compiler.tree.propagation.info ; USING: words classes.algebra compiler.tree.propagation.info ;
!
! { v+ v- v* v/ vmax vmin } [ { v+ v- v* v/ vmax vmin } [
! [ [
! [ class>> float-array class<= ] both? [ class>> float-array class<= ] both?
! float-array object ? <class-info> float-array object ? <class-info>
! ] "outputs" set-word-prop ] "outputs" set-word-prop
! ] each ] each
!
! { n*v n/v } [ { n*v n/v } [
! [ [
! nip class>> float-array class<= float-array object ? <class-info> nip class>> float-array class<= float-array object ? <class-info>
! ] "outputs" set-word-prop ] "outputs" set-word-prop
! ] each ] each
!
! { v*n v/n } [ { v*n v/n } [
! [ [
! drop class>> float-array class<= float-array object ? <class-info> drop class>> float-array class<= float-array object ? <class-info>
! ] "outputs" set-word-prop ] "outputs" set-word-prop
! ] each ] each
!
! { vneg normalize } [ { vneg normalize } [
! [ [
! class>> float-array class<= float-array object ? <class-info> class>> float-array class<= float-array object ? <class-info>
! ] "outputs" set-word-prop ] "outputs" set-word-prop
! ] each ] each
!
! \ norm-sq [ \ norm-sq [
! class>> float-array class<= float object ? <class-info> class>> float-array class<= float object ? <class-info>
! ] "outputs" set-word-prop ] "outputs" set-word-prop
!
! \ v. [ \ v. [
! [ class>> float-array class<= ] both? [ class>> float-array class<= ] both?
! float object ? <class-info> float object ? <class-info>
! ] "outputs" set-word-prop ] "outputs" set-word-prop