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() { 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");
} }