void print_util_putfloat(byte_stream_t *out_stream, float c, int32_t after_digits) { int32_t i; float num = c; if (c<0) { print_util_putstring(out_stream, "-"); num=-c; } else { print_util_putstring(out_stream, ""); } int32_t whole=abs((int32_t)num); float after=(num-(float)whole); putnum_tight(out_stream, whole, 10); print_util_putstring(out_stream, "."); for (i=0; i<after_digits; i++) { after*=10; print_util_putdigit(out_stream, (int32_t)after); after=after-(int32_t)after; } }
void print_util_print_quaternion(byte_stream_t *out_stream, quat_t *quat, int32_t after_digits) { print_util_putstring(out_stream, "("); print_util_putfloat(out_stream, quat->s, after_digits); print_util_putstring(out_stream, ", "); print_util_print_vector(out_stream, quat->v, after_digits); print_util_putstring(out_stream, ") "); }
void print_util_print_vector(byte_stream_t *out_stream, float const v[], int32_t after_digits) { print_util_putstring(out_stream, "("); for (int32_t i = 0; i < 3; i++) { print_util_putfloat(out_stream, v[i], after_digits); if (i < 2) { print_util_putstring(out_stream, ", "); } } print_util_putstring(out_stream, ") "); }
void print_util_print_matrix(byte_stream_t *out_stream, float v[], int32_t rows, int32_t columns, int32_t after_digits) { int32_t i, j; for (i=0; i<rows; i++) { print_util_putstring(out_stream, "| "); for (j=0; j<columns; j++) { print_util_putfloat(out_stream, v[i*rows+j], after_digits); if (j<columns-1) { print_util_putstring(out_stream, ", "); } } print_util_putstring(out_stream, " |\n"); } }
void print_util_dbg_print(const char* s) { print_util_putstring(deb_stream, s); }