|
@@ -404,6 +404,42 @@ void print(const char *fmt, ...) { |
|
|
va_end(argList); |
|
|
va_end(argList); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void print(list<Vector4<real32>> l, StdStream target) { |
|
|
|
|
|
void (*logFn)(const char *fmt, ...) = target == StdStream_stdout ? &printStdout : &printStderr; |
|
|
|
|
|
logFn("{ "); |
|
|
|
|
|
for (size_t i = 0; i < l.length; i++) { |
|
|
|
|
|
if (i != 0) { |
|
|
|
|
|
logFn(", "); |
|
|
|
|
|
} |
|
|
|
|
|
logFn("{ %.2f, %.2f, %.2f, %.2f }", l.data[i].x, l.data[i].y, l.data[i].z, l.data[i].w); |
|
|
|
|
|
} |
|
|
|
|
|
logFn(" } length: %zu, head: %zu\n", l.length, l.head); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void print(list<Vector3<real32>> l, StdStream target) { |
|
|
|
|
|
void (*logFn)(const char *fmt, ...) = target == StdStream_stdout ? &printStdout : &printStderr; |
|
|
|
|
|
logFn("{ "); |
|
|
|
|
|
for (size_t i = 0; i < l.length; i++) { |
|
|
|
|
|
if (i != 0) { |
|
|
|
|
|
logFn(", "); |
|
|
|
|
|
} |
|
|
|
|
|
logFn("{ %.2f, %.2f, %.2f }", l.data[i].x, l.data[i].y, l.data[i].z); |
|
|
|
|
|
} |
|
|
|
|
|
logFn(" } length: %zu, head: %zu\n", l.length, l.head); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void print(list<Vector2<real32>> l, StdStream target) { |
|
|
|
|
|
void (*logFn)(const char *fmt, ...) = target == StdStream_stdout ? &printStdout : &printStderr; |
|
|
|
|
|
logFn("{ "); |
|
|
|
|
|
for (size_t i = 0; i < l.length; i++) { |
|
|
|
|
|
if (i != 0) { |
|
|
|
|
|
logFn(", "); |
|
|
|
|
|
} |
|
|
|
|
|
logFn("{ %.2f, %.2f }", l.data[i].x, l.data[i].y); |
|
|
|
|
|
} |
|
|
|
|
|
logFn(" } length: %zu, head: %zu\n", l.length, l.head); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
void print(list<int> l, StdStream target) { |
|
|
void print(list<int> l, StdStream target) { |
|
|
void (*logFn)(const char *fmt, ...) = target == StdStream_stdout ? &printStdout : &printStderr; |
|
|
void (*logFn)(const char *fmt, ...) = target == StdStream_stdout ? &printStdout : &printStderr; |
|
|
logFn("{ "); |
|
|
logFn("{ "); |
|
|