diff --git a/include/object/outputstream.h b/include/object/outputstream.h index 4a37977d164ed5a65d1fb2d3ac5e5201ee7566bb..70ebece512830b5c565ed7caefda7b5b683ee678 100644 --- a/include/object/outputstream.h +++ b/include/object/outputstream.h @@ -35,6 +35,8 @@ class OutputStream { OutputStream & operator<<(long long number); OutputStream & operator<<(void *pointer); OutputStream & operator<<(const char *text); + OutputStream & operator<<(float number); + OutputStream & operator<<(double number); OutputStream & operator<<(OutputStream & (*fun) (OutputStream &)); void setBase(uint8_t b); diff --git a/src/os/object/outputstream.cc b/src/os/object/outputstream.cc index 31b0da45bb0f0d8919b2b19707af79d558d14f0b..f257fa5b90e2e3ddbe7a3d18c301d5ce9e78d6ac 100644 --- a/src/os/object/outputstream.cc +++ b/src/os/object/outputstream.cc @@ -98,6 +98,18 @@ OutputStream & OutputStream::operator<<(long long number) return *this; } +OutputStream & OutputStream::operator<<(double number) +{ + *this << (float)number; + return *this; +} + +OutputStream & OutputStream::operator<<(float number) +{ + this->printf_float(number); + return *this; +} + OutputStream & OutputStream::operator<<(void *pointer) { unsigned short temp_base = base;