Add Matrix printf with complex number.

This commit is contained in:
sunwen
2023-04-20 17:17:08 +08:00
parent d73dc8be23
commit 16edf26a58

View File

@@ -295,14 +295,31 @@ namespace Aurora {
void Matrix::printf() {
int k_count = getDimSize(2)==0?1:getDimSize(2);
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) {
::printf("slice %d:\r\n[",k);
for (int i = 0; i < getDimSize(0); ++i) {
::printf("[");
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");
}