typo in n*m4, n/m4 types
parent
6c2775e920
commit
4ae9e71f5c
|
@ -125,3 +125,47 @@ IN: math.matrices.simd.tests
|
|||
}
|
||||
m4-
|
||||
] unit-test
|
||||
|
||||
[
|
||||
S{ matrix4 f
|
||||
float-4-array{
|
||||
float-4{ 3.0 0.0 0.0 15.0 }
|
||||
float-4{ 0.0 3.0 0.0 18.0 }
|
||||
float-4{ 0.0 0.0 3.0 21.0 }
|
||||
float-4{ 0.0 0.0 0.0 3.0 }
|
||||
}
|
||||
}
|
||||
] [
|
||||
S{ matrix4 f
|
||||
float-4-array{
|
||||
float-4{ 1.0 0.0 0.0 5.0 }
|
||||
float-4{ 0.0 1.0 0.0 6.0 }
|
||||
float-4{ 0.0 0.0 1.0 7.0 }
|
||||
float-4{ 0.0 0.0 0.0 1.0 }
|
||||
}
|
||||
}
|
||||
3.0 m4*n
|
||||
] unit-test
|
||||
|
||||
[
|
||||
S{ matrix4 f
|
||||
float-4-array{
|
||||
float-4{ 3.0 0.0 0.0 15.0 }
|
||||
float-4{ 0.0 3.0 0.0 18.0 }
|
||||
float-4{ 0.0 0.0 3.0 21.0 }
|
||||
float-4{ 0.0 0.0 0.0 3.0 }
|
||||
}
|
||||
}
|
||||
] [
|
||||
3.0
|
||||
S{ matrix4 f
|
||||
float-4-array{
|
||||
float-4{ 1.0 0.0 0.0 5.0 }
|
||||
float-4{ 0.0 1.0 0.0 6.0 }
|
||||
float-4{ 0.0 0.0 1.0 7.0 }
|
||||
float-4{ 0.0 0.0 0.0 1.0 }
|
||||
}
|
||||
}
|
||||
n*m4
|
||||
] unit-test
|
||||
|
||||
|
|
|
@ -70,8 +70,8 @@ TYPED: m4/ ( a: matrix4 b: matrix4 -- c: matrix4 ) [ v/ ] 2map-rows ;
|
|||
|
||||
TYPED: m4*n ( a: matrix4 b: float -- c: matrix4 ) [ v*n ] curry map-rows ;
|
||||
TYPED: m4/n ( a: matrix4 b: float -- c: matrix4 ) [ v/n ] curry map-rows ;
|
||||
TYPED: n*m4 ( a: matrix4 b: float -- c: matrix4 ) [ n*v ] with map-rows ;
|
||||
TYPED: n/m4 ( a: matrix4 b: float -- c: matrix4 ) [ n/v ] with map-rows ;
|
||||
TYPED: n*m4 ( a: float b: matrix4 -- c: matrix4 ) [ n*v ] with map-rows ;
|
||||
TYPED: n/m4 ( a: float b: matrix4 -- c: matrix4 ) [ n/v ] with map-rows ;
|
||||
|
||||
TYPED:: m4. ( a: matrix4 b: matrix4 -- c: matrix4 )
|
||||
matrix4 (struct) :> c
|
||||
|
@ -157,3 +157,30 @@ TYPED:: translation-matrix4 ( offset: float-4 -- matrix: matrix4 )
|
|||
|
||||
c ;
|
||||
|
||||
! TYPED:: rotation-matrix4 ( axis: float-4 theta: float -- matrix: matrix4 )
|
||||
! matrix4 (struct) :> c
|
||||
! float-4{ 1.0 -1.0 1.0 0.0 } :> triangle-sign
|
||||
!
|
||||
! theta cos float-4-with :> cc
|
||||
! theta sin float-4-with :> ss
|
||||
! 1.0 float-4-with :> ones
|
||||
! ones cc v- :> 1-c
|
||||
! axis axis v* :> axis2
|
||||
!
|
||||
! axis2 cc ones axis2 v- v* v+ ones
|
||||
! [ { t t t f } ] 2dip v? :> diagonal
|
||||
!
|
||||
! axis { 0 0 1 3 } vshuffle axis { 1 2 2 3 } vshuffle v* 1-c v* :> triangle-a
|
||||
! ss { 2 1 0 3 } vshuffle triangle-sign * :> triangle-b
|
||||
! triangle-a triangle-b + :> triangle-lo
|
||||
! triangle-a triangle-b - :> triangle-hi
|
||||
!
|
||||
! ... ;
|
||||
! ! x*x + c*(1.0 - x*x) x*y*(1.0 - c) - s*z x*z*(1.0 - c) + s*y 0
|
||||
! ! x*y*(1.0 - c) + s*z y*y + c*(1.0 - y*y) y*z*(1.0 - c) - s*x 0
|
||||
! ! x*z*(1.0 - c) - s*y y*z*(1.0 - c) + s*x z*z + c*(1.0 - z*z) 0
|
||||
! ! 0 0 0 1
|
||||
!
|
||||
! TYPED:: frustum-matrix4 ( xy: float-4 near: float far: float -- matrix: matrix4 )
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue