math.blas.matrices: port back to new functors
parent
41859c47e7
commit
a40fef851a
|
@ -96,10 +96,10 @@ ARTICLE: "math.blas.matrices" "BLAS interface matrix operations"
|
||||||
}
|
}
|
||||||
"Literal syntax:"
|
"Literal syntax:"
|
||||||
{ $subsections
|
{ $subsections
|
||||||
postpone: \smatrix{
|
postpone: \Smatrix{
|
||||||
postpone: \dmatrix{
|
postpone: \Dmatrix{
|
||||||
postpone: \cmatrix{
|
postpone: \Cmatrix{
|
||||||
postpone: \zmatrix{
|
postpone: \Zmatrix{
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
@ -270,8 +270,8 @@ HELP: <empty-vector>
|
||||||
{ $values { "length" "The length of the new vector" } { "exemplar" blas-vector-base blas-matrix-base } { "vector" blas-vector-base } }
|
{ $values { "length" "The length of the new vector" } { "exemplar" blas-vector-base blas-matrix-base } { "vector" blas-vector-base } }
|
||||||
{ $description "Return a vector of zeros with the given " { $snippet "length" } " and the same element type as " { $snippet "v" } "." } ;
|
{ $description "Return a vector of zeros with the given " { $snippet "length" } " and the same element type as " { $snippet "v" } "." } ;
|
||||||
|
|
||||||
HELP: \smatrix{
|
HELP: \Smatrix{
|
||||||
{ $syntax "smatrix{
|
{ $syntax "Smatrix{
|
||||||
{ 1.0 0.0 0.0 1.0 }
|
{ 1.0 0.0 0.0 1.0 }
|
||||||
{ 0.0 1.0 0.0 2.0 }
|
{ 0.0 1.0 0.0 2.0 }
|
||||||
{ 0.0 0.0 1.0 3.0 }
|
{ 0.0 0.0 1.0 3.0 }
|
||||||
|
@ -279,8 +279,8 @@ HELP: \smatrix{
|
||||||
}" }
|
}" }
|
||||||
{ $description "Construct a literal " { $link float-blas-matrix } ". Note that although BLAS matrices are stored in column-major order, the literal is specified in row-major order." } ;
|
{ $description "Construct a literal " { $link float-blas-matrix } ". Note that although BLAS matrices are stored in column-major order, the literal is specified in row-major order." } ;
|
||||||
|
|
||||||
HELP: \dmatrix{
|
HELP: \Dmatrix{
|
||||||
{ $syntax "dmatrix{
|
{ $syntax "Dmatrix{
|
||||||
{ 1.0 0.0 0.0 1.0 }
|
{ 1.0 0.0 0.0 1.0 }
|
||||||
{ 0.0 1.0 0.0 2.0 }
|
{ 0.0 1.0 0.0 2.0 }
|
||||||
{ 0.0 0.0 1.0 3.0 }
|
{ 0.0 0.0 1.0 3.0 }
|
||||||
|
@ -288,8 +288,8 @@ HELP: \dmatrix{
|
||||||
}" }
|
}" }
|
||||||
{ $description "Construct a literal " { $link double-blas-matrix } ". Note that although BLAS matrices are stored in column-major order, the literal is specified in row-major order." } ;
|
{ $description "Construct a literal " { $link double-blas-matrix } ". Note that although BLAS matrices are stored in column-major order, the literal is specified in row-major order." } ;
|
||||||
|
|
||||||
HELP: \cmatrix{
|
HELP: \Cmatrix{
|
||||||
{ $syntax "cmatrix{
|
{ $syntax "Cmatrix{
|
||||||
{ 1.0 0.0 0.0 1.0 }
|
{ 1.0 0.0 0.0 1.0 }
|
||||||
{ 0.0 C{ 0.0 1.0 } 0.0 2.0 }
|
{ 0.0 C{ 0.0 1.0 } 0.0 2.0 }
|
||||||
{ 0.0 0.0 -1.0 3.0 }
|
{ 0.0 0.0 -1.0 3.0 }
|
||||||
|
@ -297,8 +297,8 @@ HELP: \cmatrix{
|
||||||
}" }
|
}" }
|
||||||
{ $description "Construct a literal " { $link complex-float-blas-matrix } ". Note that although BLAS matrices are stored in column-major order, the literal is specified in row-major order." } ;
|
{ $description "Construct a literal " { $link complex-float-blas-matrix } ". Note that although BLAS matrices are stored in column-major order, the literal is specified in row-major order." } ;
|
||||||
|
|
||||||
HELP: \zmatrix{
|
HELP: \Zmatrix{
|
||||||
{ $syntax "zmatrix{
|
{ $syntax "Zmatrix{
|
||||||
{ 1.0 0.0 0.0 1.0 }
|
{ 1.0 0.0 0.0 1.0 }
|
||||||
{ 0.0 C{ 0.0 1.0 } 0.0 2.0 }
|
{ 0.0 C{ 0.0 1.0 } 0.0 2.0 }
|
||||||
{ 0.0 0.0 -1.0 3.0 }
|
{ 0.0 0.0 -1.0 3.0 }
|
||||||
|
@ -307,6 +307,6 @@ HELP: \zmatrix{
|
||||||
{ $description "Construct a literal " { $link complex-double-blas-matrix } ". Note that although BLAS matrices are stored in column-major order, the literal is specified in row-major order." } ;
|
{ $description "Construct a literal " { $link complex-double-blas-matrix } ". Note that although BLAS matrices are stored in column-major order, the literal is specified in row-major order." } ;
|
||||||
|
|
||||||
{
|
{
|
||||||
postpone: \smatrix{ postpone: \dmatrix{
|
postpone: \Smatrix{ postpone: \Dmatrix{
|
||||||
postpone: \cmatrix{ postpone: \zmatrix{
|
postpone: \Cmatrix{ postpone: \Zmatrix{
|
||||||
} related-words
|
} related-words
|
||||||
|
|
|
@ -4,76 +4,76 @@ IN: math.blas.matrices.tests
|
||||||
|
|
||||||
! clone
|
! clone
|
||||||
|
|
||||||
{ smatrix{
|
{ Smatrix{
|
||||||
{ 1.0 2.0 3.0 }
|
{ 1.0 2.0 3.0 }
|
||||||
{ 4.0 5.0 6.0 }
|
{ 4.0 5.0 6.0 }
|
||||||
{ 7.0 8.0 9.0 }
|
{ 7.0 8.0 9.0 }
|
||||||
} } [
|
} } [
|
||||||
smatrix{
|
Smatrix{
|
||||||
{ 1.0 2.0 3.0 }
|
{ 1.0 2.0 3.0 }
|
||||||
{ 4.0 5.0 6.0 }
|
{ 4.0 5.0 6.0 }
|
||||||
{ 7.0 8.0 9.0 }
|
{ 7.0 8.0 9.0 }
|
||||||
} clone
|
} clone
|
||||||
] unit-test
|
] unit-test
|
||||||
{ f } [
|
{ f } [
|
||||||
smatrix{
|
Smatrix{
|
||||||
{ 1.0 2.0 3.0 }
|
{ 1.0 2.0 3.0 }
|
||||||
{ 4.0 5.0 6.0 }
|
{ 4.0 5.0 6.0 }
|
||||||
{ 7.0 8.0 9.0 }
|
{ 7.0 8.0 9.0 }
|
||||||
} dup clone eq?
|
} dup clone eq?
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ dmatrix{
|
{ Dmatrix{
|
||||||
{ 1.0 2.0 3.0 }
|
{ 1.0 2.0 3.0 }
|
||||||
{ 4.0 5.0 6.0 }
|
{ 4.0 5.0 6.0 }
|
||||||
{ 7.0 8.0 9.0 }
|
{ 7.0 8.0 9.0 }
|
||||||
} } [
|
} } [
|
||||||
dmatrix{
|
Dmatrix{
|
||||||
{ 1.0 2.0 3.0 }
|
{ 1.0 2.0 3.0 }
|
||||||
{ 4.0 5.0 6.0 }
|
{ 4.0 5.0 6.0 }
|
||||||
{ 7.0 8.0 9.0 }
|
{ 7.0 8.0 9.0 }
|
||||||
} clone
|
} clone
|
||||||
] unit-test
|
] unit-test
|
||||||
{ f } [
|
{ f } [
|
||||||
dmatrix{
|
Dmatrix{
|
||||||
{ 1.0 2.0 3.0 }
|
{ 1.0 2.0 3.0 }
|
||||||
{ 4.0 5.0 6.0 }
|
{ 4.0 5.0 6.0 }
|
||||||
{ 7.0 8.0 9.0 }
|
{ 7.0 8.0 9.0 }
|
||||||
} dup clone eq?
|
} dup clone eq?
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ cmatrix{
|
{ Cmatrix{
|
||||||
{ C{ 1.0 1.0 } 2.0 3.0 }
|
{ C{ 1.0 1.0 } 2.0 3.0 }
|
||||||
{ 4.0 C{ 5.0 2.0 } 6.0 }
|
{ 4.0 C{ 5.0 2.0 } 6.0 }
|
||||||
{ 7.0 8.0 C{ 9.0 3.0 } }
|
{ 7.0 8.0 C{ 9.0 3.0 } }
|
||||||
} } [
|
} } [
|
||||||
cmatrix{
|
Cmatrix{
|
||||||
{ C{ 1.0 1.0 } 2.0 3.0 }
|
{ C{ 1.0 1.0 } 2.0 3.0 }
|
||||||
{ 4.0 C{ 5.0 2.0 } 6.0 }
|
{ 4.0 C{ 5.0 2.0 } 6.0 }
|
||||||
{ 7.0 8.0 C{ 9.0 3.0 } }
|
{ 7.0 8.0 C{ 9.0 3.0 } }
|
||||||
} clone
|
} clone
|
||||||
] unit-test
|
] unit-test
|
||||||
{ f } [
|
{ f } [
|
||||||
cmatrix{
|
Cmatrix{
|
||||||
{ C{ 1.0 1.0 } 2.0 3.0 }
|
{ C{ 1.0 1.0 } 2.0 3.0 }
|
||||||
{ 4.0 C{ 5.0 2.0 } 6.0 }
|
{ 4.0 C{ 5.0 2.0 } 6.0 }
|
||||||
{ 7.0 8.0 C{ 9.0 3.0 } }
|
{ 7.0 8.0 C{ 9.0 3.0 } }
|
||||||
} dup clone eq?
|
} dup clone eq?
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ zmatrix{
|
{ Zmatrix{
|
||||||
{ C{ 1.0 1.0 } 2.0 3.0 }
|
{ C{ 1.0 1.0 } 2.0 3.0 }
|
||||||
{ 4.0 C{ 5.0 2.0 } 6.0 }
|
{ 4.0 C{ 5.0 2.0 } 6.0 }
|
||||||
{ 7.0 8.0 C{ 9.0 3.0 } }
|
{ 7.0 8.0 C{ 9.0 3.0 } }
|
||||||
} } [
|
} } [
|
||||||
zmatrix{
|
Zmatrix{
|
||||||
{ C{ 1.0 1.0 } 2.0 3.0 }
|
{ C{ 1.0 1.0 } 2.0 3.0 }
|
||||||
{ 4.0 C{ 5.0 2.0 } 6.0 }
|
{ 4.0 C{ 5.0 2.0 } 6.0 }
|
||||||
{ 7.0 8.0 C{ 9.0 3.0 } }
|
{ 7.0 8.0 C{ 9.0 3.0 } }
|
||||||
} clone
|
} clone
|
||||||
] unit-test
|
] unit-test
|
||||||
{ f } [
|
{ f } [
|
||||||
zmatrix{
|
Zmatrix{
|
||||||
{ C{ 1.0 1.0 } 2.0 3.0 }
|
{ C{ 1.0 1.0 } 2.0 3.0 }
|
||||||
{ 4.0 C{ 5.0 2.0 } 6.0 }
|
{ 4.0 C{ 5.0 2.0 } 6.0 }
|
||||||
{ 7.0 8.0 C{ 9.0 3.0 } }
|
{ 7.0 8.0 C{ 9.0 3.0 } }
|
||||||
|
@ -82,148 +82,148 @@ IN: math.blas.matrices.tests
|
||||||
|
|
||||||
! M.V
|
! M.V
|
||||||
|
|
||||||
{ svector{ 3.0 1.0 6.0 } } [
|
{ Svector{ 3.0 1.0 6.0 } } [
|
||||||
smatrix{
|
Smatrix{
|
||||||
{ 0.0 1.0 0.0 1.0 }
|
{ 0.0 1.0 0.0 1.0 }
|
||||||
{ -1.0 0.0 0.0 2.0 }
|
{ -1.0 0.0 0.0 2.0 }
|
||||||
{ 0.0 0.0 1.0 3.0 }
|
{ 0.0 0.0 1.0 3.0 }
|
||||||
}
|
}
|
||||||
svector{ 1.0 2.0 3.0 1.0 }
|
Svector{ 1.0 2.0 3.0 1.0 }
|
||||||
M.V
|
M.V
|
||||||
] unit-test
|
] unit-test
|
||||||
{ svector{ -2.0 1.0 3.0 14.0 } } [
|
{ Svector{ -2.0 1.0 3.0 14.0 } } [
|
||||||
smatrix{
|
Smatrix{
|
||||||
{ 0.0 1.0 0.0 1.0 }
|
{ 0.0 1.0 0.0 1.0 }
|
||||||
{ -1.0 0.0 0.0 2.0 }
|
{ -1.0 0.0 0.0 2.0 }
|
||||||
{ 0.0 0.0 1.0 3.0 }
|
{ 0.0 0.0 1.0 3.0 }
|
||||||
} Mtranspose
|
} Mtranspose
|
||||||
svector{ 1.0 2.0 3.0 }
|
Svector{ 1.0 2.0 3.0 }
|
||||||
M.V
|
M.V
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ dvector{ 3.0 1.0 6.0 } } [
|
{ Dvector{ 3.0 1.0 6.0 } } [
|
||||||
dmatrix{
|
Dmatrix{
|
||||||
{ 0.0 1.0 0.0 1.0 }
|
{ 0.0 1.0 0.0 1.0 }
|
||||||
{ -1.0 0.0 0.0 2.0 }
|
{ -1.0 0.0 0.0 2.0 }
|
||||||
{ 0.0 0.0 1.0 3.0 }
|
{ 0.0 0.0 1.0 3.0 }
|
||||||
}
|
}
|
||||||
dvector{ 1.0 2.0 3.0 1.0 }
|
Dvector{ 1.0 2.0 3.0 1.0 }
|
||||||
M.V
|
M.V
|
||||||
] unit-test
|
] unit-test
|
||||||
{ dvector{ -2.0 1.0 3.0 14.0 } } [
|
{ Dvector{ -2.0 1.0 3.0 14.0 } } [
|
||||||
dmatrix{
|
Dmatrix{
|
||||||
{ 0.0 1.0 0.0 1.0 }
|
{ 0.0 1.0 0.0 1.0 }
|
||||||
{ -1.0 0.0 0.0 2.0 }
|
{ -1.0 0.0 0.0 2.0 }
|
||||||
{ 0.0 0.0 1.0 3.0 }
|
{ 0.0 0.0 1.0 3.0 }
|
||||||
} Mtranspose
|
} Mtranspose
|
||||||
dvector{ 1.0 2.0 3.0 }
|
Dvector{ 1.0 2.0 3.0 }
|
||||||
M.V
|
M.V
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ cvector{ 3.0 C{ 1.0 2.0 } 6.0 } } [
|
{ Cvector{ 3.0 C{ 1.0 2.0 } 6.0 } } [
|
||||||
cmatrix{
|
Cmatrix{
|
||||||
{ 0.0 1.0 0.0 1.0 }
|
{ 0.0 1.0 0.0 1.0 }
|
||||||
{ -1.0 C{ 0.0 1.0 } 0.0 2.0 }
|
{ -1.0 C{ 0.0 1.0 } 0.0 2.0 }
|
||||||
{ 0.0 0.0 1.0 3.0 }
|
{ 0.0 0.0 1.0 3.0 }
|
||||||
}
|
}
|
||||||
cvector{ 1.0 2.0 3.0 1.0 }
|
Cvector{ 1.0 2.0 3.0 1.0 }
|
||||||
M.V
|
M.V
|
||||||
] unit-test
|
] unit-test
|
||||||
{ cvector{ -2.0 C{ 1.0 2.0 } 3.0 14.0 } } [
|
{ Cvector{ -2.0 C{ 1.0 2.0 } 3.0 14.0 } } [
|
||||||
cmatrix{
|
Cmatrix{
|
||||||
{ 0.0 1.0 0.0 1.0 }
|
{ 0.0 1.0 0.0 1.0 }
|
||||||
{ -1.0 C{ 0.0 1.0 } 0.0 2.0 }
|
{ -1.0 C{ 0.0 1.0 } 0.0 2.0 }
|
||||||
{ 0.0 0.0 1.0 3.0 }
|
{ 0.0 0.0 1.0 3.0 }
|
||||||
} Mtranspose
|
} Mtranspose
|
||||||
cvector{ 1.0 2.0 3.0 }
|
Cvector{ 1.0 2.0 3.0 }
|
||||||
M.V
|
M.V
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ zvector{ 3.0 C{ 1.0 2.0 } 6.0 } } [
|
{ Zvector{ 3.0 C{ 1.0 2.0 } 6.0 } } [
|
||||||
zmatrix{
|
Zmatrix{
|
||||||
{ 0.0 1.0 0.0 1.0 }
|
{ 0.0 1.0 0.0 1.0 }
|
||||||
{ -1.0 C{ 0.0 1.0 } 0.0 2.0 }
|
{ -1.0 C{ 0.0 1.0 } 0.0 2.0 }
|
||||||
{ 0.0 0.0 1.0 3.0 }
|
{ 0.0 0.0 1.0 3.0 }
|
||||||
}
|
}
|
||||||
zvector{ 1.0 2.0 3.0 1.0 }
|
Zvector{ 1.0 2.0 3.0 1.0 }
|
||||||
M.V
|
M.V
|
||||||
] unit-test
|
] unit-test
|
||||||
{ zvector{ -2.0 C{ 1.0 2.0 } 3.0 14.0 } } [
|
{ Zvector{ -2.0 C{ 1.0 2.0 } 3.0 14.0 } } [
|
||||||
zmatrix{
|
Zmatrix{
|
||||||
{ 0.0 1.0 0.0 1.0 }
|
{ 0.0 1.0 0.0 1.0 }
|
||||||
{ -1.0 C{ 0.0 1.0 } 0.0 2.0 }
|
{ -1.0 C{ 0.0 1.0 } 0.0 2.0 }
|
||||||
{ 0.0 0.0 1.0 3.0 }
|
{ 0.0 0.0 1.0 3.0 }
|
||||||
} Mtranspose
|
} Mtranspose
|
||||||
zvector{ 1.0 2.0 3.0 }
|
Zvector{ 1.0 2.0 3.0 }
|
||||||
M.V
|
M.V
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
! V(*)
|
! V(*)
|
||||||
|
|
||||||
{ smatrix{
|
{ Smatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 4.0 6.0 8.0 }
|
{ 2.0 4.0 6.0 8.0 }
|
||||||
{ 3.0 6.0 9.0 12.0 }
|
{ 3.0 6.0 9.0 12.0 }
|
||||||
} } [
|
} } [
|
||||||
svector{ 1.0 2.0 3.0 } svector{ 1.0 2.0 3.0 4.0 } V(*)
|
Svector{ 1.0 2.0 3.0 } Svector{ 1.0 2.0 3.0 4.0 } V(*)
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ dmatrix{
|
{ Dmatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 4.0 6.0 8.0 }
|
{ 2.0 4.0 6.0 8.0 }
|
||||||
{ 3.0 6.0 9.0 12.0 }
|
{ 3.0 6.0 9.0 12.0 }
|
||||||
} } [
|
} } [
|
||||||
dvector{ 1.0 2.0 3.0 } dvector{ 1.0 2.0 3.0 4.0 } V(*)
|
Dvector{ 1.0 2.0 3.0 } Dvector{ 1.0 2.0 3.0 4.0 } V(*)
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ cmatrix{
|
{ Cmatrix{
|
||||||
{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 }
|
{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 }
|
||||||
{ 2.0 4.0 C{ 6.0 -6.0 } 8.0 }
|
{ 2.0 4.0 C{ 6.0 -6.0 } 8.0 }
|
||||||
{ C{ 3.0 3.0 } C{ 6.0 6.0 } 18.0 C{ 12.0 12.0 } }
|
{ C{ 3.0 3.0 } C{ 6.0 6.0 } 18.0 C{ 12.0 12.0 } }
|
||||||
} } [
|
} } [
|
||||||
cvector{ 1.0 2.0 C{ 3.0 3.0 } } cvector{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 } V(*)
|
Cvector{ 1.0 2.0 C{ 3.0 3.0 } } Cvector{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 } V(*)
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ zmatrix{
|
{ Zmatrix{
|
||||||
{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 }
|
{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 }
|
||||||
{ 2.0 4.0 C{ 6.0 -6.0 } 8.0 }
|
{ 2.0 4.0 C{ 6.0 -6.0 } 8.0 }
|
||||||
{ C{ 3.0 3.0 } C{ 6.0 6.0 } 18.0 C{ 12.0 12.0 } }
|
{ C{ 3.0 3.0 } C{ 6.0 6.0 } 18.0 C{ 12.0 12.0 } }
|
||||||
} } [
|
} } [
|
||||||
zvector{ 1.0 2.0 C{ 3.0 3.0 } } zvector{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 } V(*)
|
Zvector{ 1.0 2.0 C{ 3.0 3.0 } } Zvector{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 } V(*)
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
! M.
|
! M.
|
||||||
|
|
||||||
{ smatrix{
|
{ Smatrix{
|
||||||
{ 1.0 0.0 0.0 4.0 0.0 }
|
{ 1.0 0.0 0.0 4.0 0.0 }
|
||||||
{ 0.0 0.0 -3.0 0.0 0.0 }
|
{ 0.0 0.0 -3.0 0.0 0.0 }
|
||||||
{ 0.0 4.0 0.0 0.0 10.0 }
|
{ 0.0 4.0 0.0 0.0 10.0 }
|
||||||
{ 0.0 0.0 0.0 0.0 0.0 }
|
{ 0.0 0.0 0.0 0.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
smatrix{
|
Smatrix{
|
||||||
{ 1.0 0.0 0.0 }
|
{ 1.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 -1.0 }
|
{ 0.0 0.0 -1.0 }
|
||||||
{ 0.0 2.0 0.0 }
|
{ 0.0 2.0 0.0 }
|
||||||
{ 0.0 0.0 0.0 }
|
{ 0.0 0.0 0.0 }
|
||||||
} smatrix{
|
} Smatrix{
|
||||||
{ 1.0 0.0 0.0 4.0 0.0 }
|
{ 1.0 0.0 0.0 4.0 0.0 }
|
||||||
{ 0.0 2.0 0.0 0.0 5.0 }
|
{ 0.0 2.0 0.0 0.0 5.0 }
|
||||||
{ 0.0 0.0 3.0 0.0 0.0 }
|
{ 0.0 0.0 3.0 0.0 0.0 }
|
||||||
} M.
|
} M.
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ smatrix{
|
{ Smatrix{
|
||||||
{ 1.0 0.0 0.0 0.0 }
|
{ 1.0 0.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 4.0 0.0 }
|
{ 0.0 0.0 4.0 0.0 }
|
||||||
{ 0.0 -3.0 0.0 0.0 }
|
{ 0.0 -3.0 0.0 0.0 }
|
||||||
{ 4.0 0.0 0.0 0.0 }
|
{ 4.0 0.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 10.0 0.0 }
|
{ 0.0 0.0 10.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
smatrix{
|
Smatrix{
|
||||||
{ 1.0 0.0 0.0 4.0 0.0 }
|
{ 1.0 0.0 0.0 4.0 0.0 }
|
||||||
{ 0.0 2.0 0.0 0.0 5.0 }
|
{ 0.0 2.0 0.0 0.0 5.0 }
|
||||||
{ 0.0 0.0 3.0 0.0 0.0 }
|
{ 0.0 0.0 3.0 0.0 0.0 }
|
||||||
} Mtranspose smatrix{
|
} Mtranspose Smatrix{
|
||||||
{ 1.0 0.0 0.0 }
|
{ 1.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 -1.0 }
|
{ 0.0 0.0 -1.0 }
|
||||||
{ 0.0 2.0 0.0 }
|
{ 0.0 2.0 0.0 }
|
||||||
|
@ -231,36 +231,36 @@ IN: math.blas.matrices.tests
|
||||||
} Mtranspose M.
|
} Mtranspose M.
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ dmatrix{
|
{ Dmatrix{
|
||||||
{ 1.0 0.0 0.0 4.0 0.0 }
|
{ 1.0 0.0 0.0 4.0 0.0 }
|
||||||
{ 0.0 0.0 -3.0 0.0 0.0 }
|
{ 0.0 0.0 -3.0 0.0 0.0 }
|
||||||
{ 0.0 4.0 0.0 0.0 10.0 }
|
{ 0.0 4.0 0.0 0.0 10.0 }
|
||||||
{ 0.0 0.0 0.0 0.0 0.0 }
|
{ 0.0 0.0 0.0 0.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
dmatrix{
|
Dmatrix{
|
||||||
{ 1.0 0.0 0.0 }
|
{ 1.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 -1.0 }
|
{ 0.0 0.0 -1.0 }
|
||||||
{ 0.0 2.0 0.0 }
|
{ 0.0 2.0 0.0 }
|
||||||
{ 0.0 0.0 0.0 }
|
{ 0.0 0.0 0.0 }
|
||||||
} dmatrix{
|
} Dmatrix{
|
||||||
{ 1.0 0.0 0.0 4.0 0.0 }
|
{ 1.0 0.0 0.0 4.0 0.0 }
|
||||||
{ 0.0 2.0 0.0 0.0 5.0 }
|
{ 0.0 2.0 0.0 0.0 5.0 }
|
||||||
{ 0.0 0.0 3.0 0.0 0.0 }
|
{ 0.0 0.0 3.0 0.0 0.0 }
|
||||||
} M.
|
} M.
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ dmatrix{
|
{ Dmatrix{
|
||||||
{ 1.0 0.0 0.0 0.0 }
|
{ 1.0 0.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 4.0 0.0 }
|
{ 0.0 0.0 4.0 0.0 }
|
||||||
{ 0.0 -3.0 0.0 0.0 }
|
{ 0.0 -3.0 0.0 0.0 }
|
||||||
{ 4.0 0.0 0.0 0.0 }
|
{ 4.0 0.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 10.0 0.0 }
|
{ 0.0 0.0 10.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
dmatrix{
|
Dmatrix{
|
||||||
{ 1.0 0.0 0.0 4.0 0.0 }
|
{ 1.0 0.0 0.0 4.0 0.0 }
|
||||||
{ 0.0 2.0 0.0 0.0 5.0 }
|
{ 0.0 2.0 0.0 0.0 5.0 }
|
||||||
{ 0.0 0.0 3.0 0.0 0.0 }
|
{ 0.0 0.0 3.0 0.0 0.0 }
|
||||||
} Mtranspose dmatrix{
|
} Mtranspose Dmatrix{
|
||||||
{ 1.0 0.0 0.0 }
|
{ 1.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 -1.0 }
|
{ 0.0 0.0 -1.0 }
|
||||||
{ 0.0 2.0 0.0 }
|
{ 0.0 2.0 0.0 }
|
||||||
|
@ -268,36 +268,36 @@ IN: math.blas.matrices.tests
|
||||||
} Mtranspose M.
|
} Mtranspose M.
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ cmatrix{
|
{ Cmatrix{
|
||||||
{ 1.0 0.0 0.0 4.0 0.0 }
|
{ 1.0 0.0 0.0 4.0 0.0 }
|
||||||
{ 0.0 0.0 -3.0 0.0 0.0 }
|
{ 0.0 0.0 -3.0 0.0 0.0 }
|
||||||
{ 0.0 C{ 4.0 -4.0 } 0.0 0.0 10.0 }
|
{ 0.0 C{ 4.0 -4.0 } 0.0 0.0 10.0 }
|
||||||
{ 0.0 0.0 0.0 0.0 0.0 }
|
{ 0.0 0.0 0.0 0.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
cmatrix{
|
Cmatrix{
|
||||||
{ 1.0 0.0 0.0 }
|
{ 1.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 -1.0 }
|
{ 0.0 0.0 -1.0 }
|
||||||
{ 0.0 2.0 0.0 }
|
{ 0.0 2.0 0.0 }
|
||||||
{ 0.0 0.0 0.0 }
|
{ 0.0 0.0 0.0 }
|
||||||
} cmatrix{
|
} Cmatrix{
|
||||||
{ 1.0 0.0 0.0 4.0 0.0 }
|
{ 1.0 0.0 0.0 4.0 0.0 }
|
||||||
{ 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
|
{ 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
|
||||||
{ 0.0 0.0 3.0 0.0 0.0 }
|
{ 0.0 0.0 3.0 0.0 0.0 }
|
||||||
} M.
|
} M.
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ cmatrix{
|
{ Cmatrix{
|
||||||
{ 1.0 0.0 0.0 0.0 }
|
{ 1.0 0.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 C{ 4.0 -4.0 } 0.0 }
|
{ 0.0 0.0 C{ 4.0 -4.0 } 0.0 }
|
||||||
{ 0.0 -3.0 0.0 0.0 }
|
{ 0.0 -3.0 0.0 0.0 }
|
||||||
{ 4.0 0.0 0.0 0.0 }
|
{ 4.0 0.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 10.0 0.0 }
|
{ 0.0 0.0 10.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
cmatrix{
|
Cmatrix{
|
||||||
{ 1.0 0.0 0.0 4.0 0.0 }
|
{ 1.0 0.0 0.0 4.0 0.0 }
|
||||||
{ 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
|
{ 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
|
||||||
{ 0.0 0.0 3.0 0.0 0.0 }
|
{ 0.0 0.0 3.0 0.0 0.0 }
|
||||||
} Mtranspose cmatrix{
|
} Mtranspose Cmatrix{
|
||||||
{ 1.0 0.0 0.0 }
|
{ 1.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 -1.0 }
|
{ 0.0 0.0 -1.0 }
|
||||||
{ 0.0 2.0 0.0 }
|
{ 0.0 2.0 0.0 }
|
||||||
|
@ -305,36 +305,36 @@ IN: math.blas.matrices.tests
|
||||||
} Mtranspose M.
|
} Mtranspose M.
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ zmatrix{
|
{ Zmatrix{
|
||||||
{ 1.0 0.0 0.0 4.0 0.0 }
|
{ 1.0 0.0 0.0 4.0 0.0 }
|
||||||
{ 0.0 0.0 -3.0 0.0 0.0 }
|
{ 0.0 0.0 -3.0 0.0 0.0 }
|
||||||
{ 0.0 C{ 4.0 -4.0 } 0.0 0.0 10.0 }
|
{ 0.0 C{ 4.0 -4.0 } 0.0 0.0 10.0 }
|
||||||
{ 0.0 0.0 0.0 0.0 0.0 }
|
{ 0.0 0.0 0.0 0.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
zmatrix{
|
Zmatrix{
|
||||||
{ 1.0 0.0 0.0 }
|
{ 1.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 -1.0 }
|
{ 0.0 0.0 -1.0 }
|
||||||
{ 0.0 2.0 0.0 }
|
{ 0.0 2.0 0.0 }
|
||||||
{ 0.0 0.0 0.0 }
|
{ 0.0 0.0 0.0 }
|
||||||
} zmatrix{
|
} Zmatrix{
|
||||||
{ 1.0 0.0 0.0 4.0 0.0 }
|
{ 1.0 0.0 0.0 4.0 0.0 }
|
||||||
{ 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
|
{ 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
|
||||||
{ 0.0 0.0 3.0 0.0 0.0 }
|
{ 0.0 0.0 3.0 0.0 0.0 }
|
||||||
} M.
|
} M.
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ zmatrix{
|
{ Zmatrix{
|
||||||
{ 1.0 0.0 0.0 0.0 }
|
{ 1.0 0.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 C{ 4.0 -4.0 } 0.0 }
|
{ 0.0 0.0 C{ 4.0 -4.0 } 0.0 }
|
||||||
{ 0.0 -3.0 0.0 0.0 }
|
{ 0.0 -3.0 0.0 0.0 }
|
||||||
{ 4.0 0.0 0.0 0.0 }
|
{ 4.0 0.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 10.0 0.0 }
|
{ 0.0 0.0 10.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
zmatrix{
|
Zmatrix{
|
||||||
{ 1.0 0.0 0.0 4.0 0.0 }
|
{ 1.0 0.0 0.0 4.0 0.0 }
|
||||||
{ 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
|
{ 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
|
||||||
{ 0.0 0.0 3.0 0.0 0.0 }
|
{ 0.0 0.0 3.0 0.0 0.0 }
|
||||||
} Mtranspose zmatrix{
|
} Mtranspose Zmatrix{
|
||||||
{ 1.0 0.0 0.0 }
|
{ 1.0 0.0 0.0 }
|
||||||
{ 0.0 0.0 -1.0 }
|
{ 0.0 0.0 -1.0 }
|
||||||
{ 0.0 2.0 0.0 }
|
{ 0.0 2.0 0.0 }
|
||||||
|
@ -344,41 +344,41 @@ IN: math.blas.matrices.tests
|
||||||
|
|
||||||
! n*M
|
! n*M
|
||||||
|
|
||||||
{ smatrix{
|
{ Smatrix{
|
||||||
{ 2.0 0.0 }
|
{ 2.0 0.0 }
|
||||||
{ 0.0 2.0 }
|
{ 0.0 2.0 }
|
||||||
} } [
|
} } [
|
||||||
2.0 smatrix{
|
2.0 Smatrix{
|
||||||
{ 1.0 0.0 }
|
{ 1.0 0.0 }
|
||||||
{ 0.0 1.0 }
|
{ 0.0 1.0 }
|
||||||
} n*M
|
} n*M
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ dmatrix{
|
{ Dmatrix{
|
||||||
{ 2.0 0.0 }
|
{ 2.0 0.0 }
|
||||||
{ 0.0 2.0 }
|
{ 0.0 2.0 }
|
||||||
} } [
|
} } [
|
||||||
2.0 dmatrix{
|
2.0 Dmatrix{
|
||||||
{ 1.0 0.0 }
|
{ 1.0 0.0 }
|
||||||
{ 0.0 1.0 }
|
{ 0.0 1.0 }
|
||||||
} n*M
|
} n*M
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ cmatrix{
|
{ Cmatrix{
|
||||||
{ C{ 2.0 1.0 } 0.0 }
|
{ C{ 2.0 1.0 } 0.0 }
|
||||||
{ 0.0 C{ -1.0 2.0 } }
|
{ 0.0 C{ -1.0 2.0 } }
|
||||||
} } [
|
} } [
|
||||||
C{ 2.0 1.0 } cmatrix{
|
C{ 2.0 1.0 } Cmatrix{
|
||||||
{ 1.0 0.0 }
|
{ 1.0 0.0 }
|
||||||
{ 0.0 C{ 0.0 1.0 } }
|
{ 0.0 C{ 0.0 1.0 } }
|
||||||
} n*M
|
} n*M
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ zmatrix{
|
{ Zmatrix{
|
||||||
{ C{ 2.0 1.0 } 0.0 }
|
{ C{ 2.0 1.0 } 0.0 }
|
||||||
{ 0.0 C{ -1.0 2.0 } }
|
{ 0.0 C{ -1.0 2.0 } }
|
||||||
} } [
|
} } [
|
||||||
C{ 2.0 1.0 } zmatrix{
|
C{ 2.0 1.0 } Zmatrix{
|
||||||
{ 1.0 0.0 }
|
{ 1.0 0.0 }
|
||||||
{ 0.0 C{ 0.0 1.0 } }
|
{ 0.0 C{ 0.0 1.0 } }
|
||||||
} n*M
|
} n*M
|
||||||
|
@ -386,228 +386,228 @@ IN: math.blas.matrices.tests
|
||||||
|
|
||||||
! Mrows, Mcols
|
! Mrows, Mcols
|
||||||
|
|
||||||
{ svector{ 3.0 3.0 3.0 } } [
|
{ Svector{ 3.0 3.0 3.0 } } [
|
||||||
2 smatrix{
|
2 Smatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mcols nth
|
} Mcols nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ svector{ 3.0 2.0 3.0 4.0 } } [
|
{ Svector{ 3.0 2.0 3.0 4.0 } } [
|
||||||
2 smatrix{
|
2 Smatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mrows nth
|
} Mrows nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 3 } [
|
{ 3 } [
|
||||||
smatrix{
|
Smatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mrows length
|
} Mrows length
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 4 } [
|
{ 4 } [
|
||||||
smatrix{
|
Smatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mcols length
|
} Mcols length
|
||||||
] unit-test
|
] unit-test
|
||||||
{ svector{ 3.0 3.0 3.0 } } [
|
{ Svector{ 3.0 3.0 3.0 } } [
|
||||||
2 smatrix{
|
2 Smatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mtranspose Mrows nth
|
} Mtranspose Mrows nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ svector{ 3.0 2.0 3.0 4.0 } } [
|
{ Svector{ 3.0 2.0 3.0 4.0 } } [
|
||||||
2 smatrix{
|
2 Smatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mtranspose Mcols nth
|
} Mtranspose Mcols nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 3 } [
|
{ 3 } [
|
||||||
smatrix{
|
Smatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mtranspose Mcols length
|
} Mtranspose Mcols length
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 4 } [
|
{ 4 } [
|
||||||
smatrix{
|
Smatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mtranspose Mrows length
|
} Mtranspose Mrows length
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ dvector{ 3.0 3.0 3.0 } } [
|
{ Dvector{ 3.0 3.0 3.0 } } [
|
||||||
2 dmatrix{
|
2 Dmatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mcols nth
|
} Mcols nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ dvector{ 3.0 2.0 3.0 4.0 } } [
|
{ Dvector{ 3.0 2.0 3.0 4.0 } } [
|
||||||
2 dmatrix{
|
2 Dmatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mrows nth
|
} Mrows nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 3 } [
|
{ 3 } [
|
||||||
dmatrix{
|
Dmatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mrows length
|
} Mrows length
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 4 } [
|
{ 4 } [
|
||||||
dmatrix{
|
Dmatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mcols length
|
} Mcols length
|
||||||
] unit-test
|
] unit-test
|
||||||
{ dvector{ 3.0 3.0 3.0 } } [
|
{ Dvector{ 3.0 3.0 3.0 } } [
|
||||||
2 dmatrix{
|
2 Dmatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mtranspose Mrows nth
|
} Mtranspose Mrows nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ dvector{ 3.0 2.0 3.0 4.0 } } [
|
{ Dvector{ 3.0 2.0 3.0 4.0 } } [
|
||||||
2 dmatrix{
|
2 Dmatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mtranspose Mcols nth
|
} Mtranspose Mcols nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 3 } [
|
{ 3 } [
|
||||||
dmatrix{
|
Dmatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mtranspose Mcols length
|
} Mtranspose Mcols length
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 4 } [
|
{ 4 } [
|
||||||
dmatrix{
|
Dmatrix{
|
||||||
{ 1.0 2.0 3.0 4.0 }
|
{ 1.0 2.0 3.0 4.0 }
|
||||||
{ 2.0 2.0 3.0 4.0 }
|
{ 2.0 2.0 3.0 4.0 }
|
||||||
{ 3.0 2.0 3.0 4.0 }
|
{ 3.0 2.0 3.0 4.0 }
|
||||||
} Mtranspose Mrows length
|
} Mtranspose Mrows length
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ cvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
|
{ Cvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
|
||||||
2 cmatrix{
|
2 Cmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mcols nth
|
} Mcols nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ cvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
|
{ Cvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
|
||||||
2 cmatrix{
|
2 Cmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mrows nth
|
} Mrows nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 3 } [
|
{ 3 } [
|
||||||
cmatrix{
|
Cmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mrows length
|
} Mrows length
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 4 } [
|
{ 4 } [
|
||||||
cmatrix{
|
Cmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mcols length
|
} Mcols length
|
||||||
] unit-test
|
] unit-test
|
||||||
{ cvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
|
{ Cvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
|
||||||
2 cmatrix{
|
2 Cmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mtranspose Mrows nth
|
} Mtranspose Mrows nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ cvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
|
{ Cvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
|
||||||
2 cmatrix{
|
2 Cmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mtranspose Mcols nth
|
} Mtranspose Mcols nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 3 } [
|
{ 3 } [
|
||||||
cmatrix{
|
Cmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mtranspose Mcols length
|
} Mtranspose Mcols length
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 4 } [
|
{ 4 } [
|
||||||
cmatrix{
|
Cmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mtranspose Mrows length
|
} Mtranspose Mrows length
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ zvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
|
{ Zvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
|
||||||
2 zmatrix{
|
2 Zmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mcols nth
|
} Mcols nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ zvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
|
{ Zvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
|
||||||
2 zmatrix{
|
2 Zmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mrows nth
|
} Mrows nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 3 } [
|
{ 3 } [
|
||||||
zmatrix{
|
Zmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mrows length
|
} Mrows length
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 4 } [
|
{ 4 } [
|
||||||
zmatrix{
|
Zmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mcols length
|
} Mcols length
|
||||||
] unit-test
|
] unit-test
|
||||||
{ zvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
|
{ Zvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
|
||||||
2 zmatrix{
|
2 Zmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mtranspose Mrows nth
|
} Mtranspose Mrows nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ zvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
|
{ Zvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
|
||||||
2 zmatrix{
|
2 Zmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mtranspose Mcols nth
|
} Mtranspose Mcols nth
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 3 } [
|
{ 3 } [
|
||||||
zmatrix{
|
Zmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
} Mtranspose Mcols length
|
} Mtranspose Mcols length
|
||||||
] unit-test
|
] unit-test
|
||||||
{ 4 } [
|
{ 4 } [
|
||||||
zmatrix{
|
Zmatrix{
|
||||||
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
|
||||||
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
|
||||||
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
|
||||||
|
@ -616,92 +616,92 @@ IN: math.blas.matrices.tests
|
||||||
|
|
||||||
! Msub
|
! Msub
|
||||||
|
|
||||||
{ smatrix{
|
{ Smatrix{
|
||||||
{ 3.0 2.0 1.0 }
|
{ 3.0 2.0 1.0 }
|
||||||
{ 0.0 1.0 0.0 }
|
{ 0.0 1.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
smatrix{
|
Smatrix{
|
||||||
{ 0.0 1.0 2.0 3.0 2.0 }
|
{ 0.0 1.0 2.0 3.0 2.0 }
|
||||||
{ 1.0 0.0 3.0 2.0 1.0 }
|
{ 1.0 0.0 3.0 2.0 1.0 }
|
||||||
{ 2.0 3.0 0.0 1.0 0.0 }
|
{ 2.0 3.0 0.0 1.0 0.0 }
|
||||||
} 1 2 2 3 Msub
|
} 1 2 2 3 Msub
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ smatrix{
|
{ Smatrix{
|
||||||
{ 3.0 0.0 }
|
{ 3.0 0.0 }
|
||||||
{ 2.0 1.0 }
|
{ 2.0 1.0 }
|
||||||
{ 1.0 0.0 }
|
{ 1.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
smatrix{
|
Smatrix{
|
||||||
{ 0.0 1.0 2.0 3.0 2.0 }
|
{ 0.0 1.0 2.0 3.0 2.0 }
|
||||||
{ 1.0 0.0 3.0 2.0 1.0 }
|
{ 1.0 0.0 3.0 2.0 1.0 }
|
||||||
{ 2.0 3.0 0.0 1.0 0.0 }
|
{ 2.0 3.0 0.0 1.0 0.0 }
|
||||||
} Mtranspose 2 1 3 2 Msub
|
} Mtranspose 2 1 3 2 Msub
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ dmatrix{
|
{ Dmatrix{
|
||||||
{ 3.0 2.0 1.0 }
|
{ 3.0 2.0 1.0 }
|
||||||
{ 0.0 1.0 0.0 }
|
{ 0.0 1.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
dmatrix{
|
Dmatrix{
|
||||||
{ 0.0 1.0 2.0 3.0 2.0 }
|
{ 0.0 1.0 2.0 3.0 2.0 }
|
||||||
{ 1.0 0.0 3.0 2.0 1.0 }
|
{ 1.0 0.0 3.0 2.0 1.0 }
|
||||||
{ 2.0 3.0 0.0 1.0 0.0 }
|
{ 2.0 3.0 0.0 1.0 0.0 }
|
||||||
} 1 2 2 3 Msub
|
} 1 2 2 3 Msub
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ dmatrix{
|
{ Dmatrix{
|
||||||
{ 3.0 0.0 }
|
{ 3.0 0.0 }
|
||||||
{ 2.0 1.0 }
|
{ 2.0 1.0 }
|
||||||
{ 1.0 0.0 }
|
{ 1.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
dmatrix{
|
Dmatrix{
|
||||||
{ 0.0 1.0 2.0 3.0 2.0 }
|
{ 0.0 1.0 2.0 3.0 2.0 }
|
||||||
{ 1.0 0.0 3.0 2.0 1.0 }
|
{ 1.0 0.0 3.0 2.0 1.0 }
|
||||||
{ 2.0 3.0 0.0 1.0 0.0 }
|
{ 2.0 3.0 0.0 1.0 0.0 }
|
||||||
} Mtranspose 2 1 3 2 Msub
|
} Mtranspose 2 1 3 2 Msub
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ cmatrix{
|
{ Cmatrix{
|
||||||
{ C{ 3.0 3.0 } 2.0 1.0 }
|
{ C{ 3.0 3.0 } 2.0 1.0 }
|
||||||
{ 0.0 1.0 0.0 }
|
{ 0.0 1.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
cmatrix{
|
Cmatrix{
|
||||||
{ 0.0 1.0 2.0 3.0 2.0 }
|
{ 0.0 1.0 2.0 3.0 2.0 }
|
||||||
{ 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
|
{ 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
|
||||||
{ 2.0 3.0 0.0 1.0 0.0 }
|
{ 2.0 3.0 0.0 1.0 0.0 }
|
||||||
} 1 2 2 3 Msub
|
} 1 2 2 3 Msub
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ cmatrix{
|
{ Cmatrix{
|
||||||
{ C{ 3.0 3.0 } 0.0 }
|
{ C{ 3.0 3.0 } 0.0 }
|
||||||
{ 2.0 1.0 }
|
{ 2.0 1.0 }
|
||||||
{ 1.0 0.0 }
|
{ 1.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
cmatrix{
|
Cmatrix{
|
||||||
{ 0.0 1.0 2.0 3.0 2.0 }
|
{ 0.0 1.0 2.0 3.0 2.0 }
|
||||||
{ 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
|
{ 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
|
||||||
{ 2.0 3.0 0.0 1.0 0.0 }
|
{ 2.0 3.0 0.0 1.0 0.0 }
|
||||||
} Mtranspose 2 1 3 2 Msub
|
} Mtranspose 2 1 3 2 Msub
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ zmatrix{
|
{ Zmatrix{
|
||||||
{ C{ 3.0 3.0 } 2.0 1.0 }
|
{ C{ 3.0 3.0 } 2.0 1.0 }
|
||||||
{ 0.0 1.0 0.0 }
|
{ 0.0 1.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
zmatrix{
|
Zmatrix{
|
||||||
{ 0.0 1.0 2.0 3.0 2.0 }
|
{ 0.0 1.0 2.0 3.0 2.0 }
|
||||||
{ 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
|
{ 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
|
||||||
{ 2.0 3.0 0.0 1.0 0.0 }
|
{ 2.0 3.0 0.0 1.0 0.0 }
|
||||||
} 1 2 2 3 Msub
|
} 1 2 2 3 Msub
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ zmatrix{
|
{ Zmatrix{
|
||||||
{ C{ 3.0 3.0 } 0.0 }
|
{ C{ 3.0 3.0 } 0.0 }
|
||||||
{ 2.0 1.0 }
|
{ 2.0 1.0 }
|
||||||
{ 1.0 0.0 }
|
{ 1.0 0.0 }
|
||||||
} } [
|
} } [
|
||||||
zmatrix{
|
Zmatrix{
|
||||||
{ 0.0 1.0 2.0 3.0 2.0 }
|
{ 0.0 1.0 2.0 3.0 2.0 }
|
||||||
{ 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
|
{ 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
|
||||||
{ 2.0 3.0 0.0 1.0 0.0 }
|
{ 2.0 3.0 0.0 1.0 0.0 }
|
||||||
|
|
|
@ -5,7 +5,7 @@ math.blas.ffi math.blas.vectors math.blas.vectors.private
|
||||||
math.complex math.functions math.order functors words
|
math.complex math.functions math.order functors words
|
||||||
sequences sequences.merged sequences.private shuffle
|
sequences sequences.merged sequences.private shuffle
|
||||||
parser prettyprint.backend prettyprint.custom ascii
|
parser prettyprint.backend prettyprint.custom ascii
|
||||||
specialized-arrays ;
|
specialized-arrays functors2 strings ;
|
||||||
FROM: alien.c-types => float ;
|
FROM: alien.c-types => float ;
|
||||||
SPECIALIZED-ARRAY: float
|
SPECIALIZED-ARRAY: float
|
||||||
SPECIALIZED-ARRAY: double
|
SPECIALIZED-ARRAY: double
|
||||||
|
@ -246,70 +246,67 @@ M: blas-matrix-base equal?
|
||||||
} 2&& ;
|
} 2&& ;
|
||||||
|
|
||||||
<<
|
<<
|
||||||
|
INLINE-FUNCTOR: blas-matrix ( type: name t: string u: string c: string -- ) [[
|
||||||
|
! VECTOR IS ${TYPE}-blas-vector
|
||||||
|
! <VECTOR> IS <${TYPE}-blas-vector>
|
||||||
|
! XGEMV IS ${T}GEMV
|
||||||
|
! XGEMM IS ${T}GEMM
|
||||||
|
! XGERU IS ${T}GER${U}
|
||||||
|
! XGERC IS ${T}GER${C}
|
||||||
|
|
||||||
<FUNCTOR: (define-blas-matrix) ( TYPE T U C -- )
|
! MATRIX DEFINES-CLASS ${TYPE}-blas-matrix
|
||||||
|
! <MATRIX> DEFINES <${TYPE}-blas-matrix>
|
||||||
|
! >MATRIX DEFINES >${TYPE}-blas-matrix
|
||||||
|
|
||||||
VECTOR IS ${TYPE}-blas-vector
|
! t [ T >lower ]
|
||||||
<VECTOR> IS <${TYPE}-blas-vector>
|
|
||||||
XGEMV IS ${T}GEMV
|
|
||||||
XGEMM IS ${T}GEMM
|
|
||||||
XGERU IS ${T}GER${U}
|
|
||||||
XGERC IS ${T}GER${C}
|
|
||||||
|
|
||||||
MATRIX DEFINES-CLASS ${TYPE}-blas-matrix
|
! XMATRIX{ DEFINES ${t}matrix{
|
||||||
<MATRIX> DEFINES <${TYPE}-blas-matrix>
|
|
||||||
>MATRIX DEFINES >${TYPE}-blas-matrix
|
|
||||||
|
|
||||||
t [ T >lower ]
|
TUPLE: ${type}-blas-matrix < blas-matrix-base ;
|
||||||
|
: <${type}-blas-matrix> ( underlying ld rows cols transpose -- matrix )
|
||||||
|
${type}-blas-matrix boa ; inline
|
||||||
|
: >${type}-blas-matrix ( arrays -- matrix )
|
||||||
|
[ ${type} >c-array underlying>> ] (>matrix) <${type}-blas-matrix> ;
|
||||||
|
|
||||||
|
SYNTAX: ${t}matrix{ \ } [ >${type}-blas-matrix ] parse-literal ;
|
||||||
|
|
||||||
XMATRIX{ DEFINES ${t}matrix{
|
M: ${type}-blas-matrix element-type
|
||||||
|
drop ${type} ;
|
||||||
|
M: ${type}-blas-matrix (blas-matrix-like)
|
||||||
|
drop <${type}-blas-matrix> ;
|
||||||
|
M: ${type}-blas-vector (blas-matrix-like)
|
||||||
|
drop <${type}-blas-matrix> ;
|
||||||
|
M: ${type}-blas-matrix (blas-vector-like)
|
||||||
|
drop <${type}-blas-vector> ;
|
||||||
|
|
||||||
WHERE
|
M: ${type}-blas-vector n*M.V+n*V!
|
||||||
|
(prepare-gemv) [ ${t}GEMV ] dip ;
|
||||||
TUPLE: MATRIX < blas-matrix-base ;
|
M: ${type}-blas-matrix n*M.M+n*M!
|
||||||
: <MATRIX> ( underlying ld rows cols transpose -- matrix )
|
(prepare-gemm) [ ${t}GEMM ] dip ;
|
||||||
MATRIX boa ; inline
|
M: ${type}-blas-matrix n*V(*)V+M!
|
||||||
|
(prepare-ger) [ ${t}GER${u} ] dip ;
|
||||||
M: MATRIX element-type
|
M: ${type}-blas-matrix n*V(*)Vconj+M!
|
||||||
drop TYPE ;
|
(prepare-ger) [ ${t}GER${c} ] dip ;
|
||||||
M: MATRIX (blas-matrix-like)
|
|
||||||
drop <MATRIX> ;
|
|
||||||
M: VECTOR (blas-matrix-like)
|
|
||||||
drop <MATRIX> ;
|
|
||||||
M: MATRIX (blas-vector-like)
|
|
||||||
drop <VECTOR> ;
|
|
||||||
|
|
||||||
: >MATRIX ( arrays -- matrix )
|
|
||||||
[ TYPE >c-array underlying>> ] (>matrix) <MATRIX> ;
|
|
||||||
|
|
||||||
M: VECTOR n*M.V+n*V!
|
|
||||||
(prepare-gemv) [ XGEMV ] dip ;
|
|
||||||
M: MATRIX n*M.M+n*M!
|
|
||||||
(prepare-gemm) [ XGEMM ] dip ;
|
|
||||||
M: MATRIX n*V(*)V+M!
|
|
||||||
(prepare-ger) [ XGERU ] dip ;
|
|
||||||
M: MATRIX n*V(*)Vconj+M!
|
|
||||||
(prepare-ger) [ XGERC ] dip ;
|
|
||||||
|
|
||||||
SYNTAX: XMATRIX{ \ } [ >MATRIX ] parse-literal ;
|
|
||||||
|
|
||||||
M: MATRIX pprint-delims
|
|
||||||
drop \ XMATRIX{ \ } ;
|
|
||||||
|
|
||||||
;FUNCTOR>
|
|
||||||
|
|
||||||
|
|
||||||
: define-real-blas-matrix ( TYPE T -- )
|
|
||||||
"" "" (define-blas-matrix) ;
|
|
||||||
: define-complex-blas-matrix ( TYPE T -- )
|
|
||||||
"U" "C" (define-blas-matrix) ;
|
|
||||||
|
|
||||||
float "S" define-real-blas-matrix
|
|
||||||
double "D" define-real-blas-matrix
|
|
||||||
complex-float "C" define-complex-blas-matrix
|
|
||||||
complex-double "Z" define-complex-blas-matrix
|
|
||||||
|
|
||||||
|
M: ${type}-blas-matrix pprint-delims
|
||||||
|
drop \ ${t}matrix{ \ } ;
|
||||||
|
]]
|
||||||
>>
|
>>
|
||||||
|
|
||||||
|
|
||||||
|
! : define-real-blas-matrix ( TYPE T -- )
|
||||||
|
! "" "" (define-blas-matrix) ;
|
||||||
|
! : define-complex-blas-matrix ( TYPE T -- )
|
||||||
|
! "U" "C" (define-blas-matrix) ;
|
||||||
|
|
||||||
|
! float "S" define-real-blas-matrix
|
||||||
|
! double "D" define-real-blas-matrix
|
||||||
|
! complex-float "C" define-complex-blas-matrix
|
||||||
|
! complex-double "Z" define-complex-blas-matrix
|
||||||
|
BLAS-MATRIX: float "S" "" ""
|
||||||
|
BLAS-MATRIX: double "D" "" ""
|
||||||
|
BLAS-MATRIX: complex-float "C" "U" "C"
|
||||||
|
BLAS-MATRIX: complex-double "Z" "U" "C"
|
||||||
|
|
||||||
M: blas-matrix-base >pprint-sequence Mrows ;
|
M: blas-matrix-base >pprint-sequence Mrows ;
|
||||||
M: blas-matrix-base pprint* pprint-object ;
|
M: blas-matrix-base pprint* pprint-object ;
|
||||||
|
|
Loading…
Reference in New Issue