mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-28 02:36:37 +08:00
matrix: adjust printing for if symmetric (lower triangular only)
This commit is contained in:
@@ -365,7 +365,7 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void print(float eps = 0.00001f) const
|
void print(float eps = 1e-9) const
|
||||||
{
|
{
|
||||||
// print column numbering
|
// print column numbering
|
||||||
if (N > 1) {
|
if (N > 1) {
|
||||||
@@ -393,16 +393,25 @@ public:
|
|||||||
printf("\033[1m");
|
printf("\033[1m");
|
||||||
}
|
}
|
||||||
|
|
||||||
// avoid -0.0 for display
|
// if symmetric don't print upper triangular elements
|
||||||
if (fabs(d - 0.0) < (double)eps) {
|
if ((M == N) && (j > i) && (i < N) && (j < M)
|
||||||
// print fixed width zero
|
&& (fabs(d - static_cast<double>(self(j, i))) < (double)eps)
|
||||||
printf(" 0 ");
|
) {
|
||||||
|
// print empty space
|
||||||
} else if ((fabs(d) < 1e-4) || (fabs(d) >= 10.0)) {
|
printf(" ");
|
||||||
printf("% .1e ", d);
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
printf("% 6.5f ", d);
|
// avoid -0.0 for display
|
||||||
|
if (fabs(d - 0.0) < (double)eps) {
|
||||||
|
// print fixed width zero
|
||||||
|
printf(" 0 ");
|
||||||
|
|
||||||
|
} else if ((fabs(d) < 1e-4) || (fabs(d) >= 10.0)) {
|
||||||
|
printf("% .1e ", d);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
printf("% 6.5f ", d);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Matrix diagonal elements
|
// Matrix diagonal elements
|
||||||
|
|||||||
Reference in New Issue
Block a user