Add Matrix printf with complex number.
This commit is contained in:
@@ -295,14 +295,31 @@ namespace Aurora {
|
|||||||
|
|
||||||
|
|
||||||
void Matrix::printf() {
|
void Matrix::printf() {
|
||||||
|
|
||||||
int k_count = getDimSize(2)==0?1:getDimSize(2);
|
int k_count = getDimSize(2)==0?1:getDimSize(2);
|
||||||
int j_count = getDimSize(1)==0?1:getDimSize(1);
|
int j_count = getDimSize(1)==0?1:getDimSize(1);
|
||||||
|
int complexstep = 1;
|
||||||
|
const char* mark = "+";
|
||||||
|
if(mValueType == Complex)
|
||||||
|
{
|
||||||
|
complexstep = 2;
|
||||||
|
}
|
||||||
for (int k = 0; k <k_count; ++k) {
|
for (int k = 0; k <k_count; ++k) {
|
||||||
::printf("slice %d:\r\n[",k);
|
::printf("slice %d:\r\n[",k);
|
||||||
for (int i = 0; i < getDimSize(0); ++i) {
|
for (int i = 0; i < getDimSize(0); ++i) {
|
||||||
::printf("[");
|
::printf("[");
|
||||||
for (int j = 0; j < j_count; ++j) {
|
for (int j = 0; j < j_count; ++j) {
|
||||||
::printf("%f2, ",getData()[k*getDimSize(1)*getDimSize(0)+j*getDimSize(0)+i]);
|
::printf("%f2",getData()[(k*getDimSize(1)*getDimSize(0)+j*getDimSize(0)+i)*complexstep]);
|
||||||
|
if(mValueType == Complex)
|
||||||
|
{
|
||||||
|
double value = getData()[(k*getDimSize(1)*getDimSize(0)+j*getDimSize(0)+i)*complexstep+1];
|
||||||
|
if(value<0)
|
||||||
|
{
|
||||||
|
mark = "-";
|
||||||
|
}
|
||||||
|
::printf("%s%f2i",mark,value);
|
||||||
|
}
|
||||||
|
::printf(", ");
|
||||||
}
|
}
|
||||||
::printf("]\r\n");
|
::printf("]\r\n");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user