Add Matrix printf with complex number.
This commit is contained in:
@@ -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");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user