Adding precision parameter for printing of floats / doubles. Restructured the print() and println() functions a bit.
This commit is contained in:
parent
fe28586154
commit
85de48989d
|
@ -42,58 +42,55 @@ void Print::write(const uint8_t *buffer, size_t size)
|
||||||
write(*buffer++);
|
write(*buffer++);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Print::print(uint8_t b)
|
|
||||||
{
|
|
||||||
this->write(b);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Print::print(char c)
|
|
||||||
{
|
|
||||||
print((byte) c);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Print::print(const char str[])
|
void Print::print(const char str[])
|
||||||
{
|
{
|
||||||
write(str);
|
write(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Print::print(int n)
|
void Print::print(char c, int base)
|
||||||
{
|
{
|
||||||
print((long) n);
|
print((long) c, base);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Print::print(unsigned int n)
|
void Print::print(unsigned char b, int base)
|
||||||
{
|
{
|
||||||
print((unsigned long) n);
|
print((unsigned long) b, base);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Print::print(long n)
|
void Print::print(int n, int base)
|
||||||
{
|
{
|
||||||
|
print((long) n, base);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Print::print(unsigned int n, int base)
|
||||||
|
{
|
||||||
|
print((unsigned long) n, base);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Print::print(long n, int base)
|
||||||
|
{
|
||||||
|
if (base == 0) {
|
||||||
|
write(n);
|
||||||
|
} else if (base == 10) {
|
||||||
if (n < 0) {
|
if (n < 0) {
|
||||||
print('-');
|
print('-');
|
||||||
n = -n;
|
n = -n;
|
||||||
}
|
}
|
||||||
printNumber(n, 10);
|
printNumber(n, 10);
|
||||||
}
|
} else {
|
||||||
|
|
||||||
void Print::print(unsigned long n)
|
|
||||||
{
|
|
||||||
printNumber(n, 10);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Print::print(long n, int base)
|
|
||||||
{
|
|
||||||
if (base == 0)
|
|
||||||
print((char) n);
|
|
||||||
else if (base == 10)
|
|
||||||
print(n);
|
|
||||||
else
|
|
||||||
printNumber(n, base);
|
printNumber(n, base);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Print::print(double n)
|
void Print::print(unsigned long n, int base)
|
||||||
{
|
{
|
||||||
printFloat(n, 2);
|
if (base == 0) write(n);
|
||||||
|
else printNumber(n, base);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Print::print(double n, int digits)
|
||||||
|
{
|
||||||
|
printFloat(n, digits);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Print::println(void)
|
void Print::println(void)
|
||||||
|
@ -102,45 +99,33 @@ void Print::println(void)
|
||||||
print('\n');
|
print('\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
void Print::println(char c)
|
|
||||||
{
|
|
||||||
print(c);
|
|
||||||
println();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Print::println(const char c[])
|
void Print::println(const char c[])
|
||||||
{
|
{
|
||||||
print(c);
|
print(c);
|
||||||
println();
|
println();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Print::println(uint8_t b)
|
void Print::println(char c, int base)
|
||||||
{
|
{
|
||||||
print(b);
|
print(c, base);
|
||||||
println();
|
println();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Print::println(int n)
|
void Print::println(unsigned char b, int base)
|
||||||
{
|
{
|
||||||
print(n);
|
print(b, base);
|
||||||
println();
|
println();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Print::println(unsigned int n)
|
void Print::println(int n, int base)
|
||||||
{
|
{
|
||||||
print(n);
|
print(n, base);
|
||||||
println();
|
println();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Print::println(long n)
|
void Print::println(unsigned int n, int base)
|
||||||
{
|
{
|
||||||
print(n);
|
print(n, base);
|
||||||
println();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Print::println(unsigned long n)
|
|
||||||
{
|
|
||||||
print(n);
|
|
||||||
println();
|
println();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,9 +135,15 @@ void Print::println(long n, int base)
|
||||||
println();
|
println();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Print::println(double n)
|
void Print::println(unsigned long n, int base)
|
||||||
{
|
{
|
||||||
print(n);
|
print(n, base);
|
||||||
|
println();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Print::println(double n, int digits)
|
||||||
|
{
|
||||||
|
print(n, digits);
|
||||||
println();
|
println();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,25 +38,25 @@ class Print
|
||||||
virtual void write(uint8_t) = 0;
|
virtual void write(uint8_t) = 0;
|
||||||
virtual void write(const char *str);
|
virtual void write(const char *str);
|
||||||
virtual void write(const uint8_t *buffer, size_t size);
|
virtual void write(const uint8_t *buffer, size_t size);
|
||||||
void print(char);
|
|
||||||
void print(const char[]);
|
void print(const char[]);
|
||||||
void print(uint8_t);
|
void print(char, int = BYTE);
|
||||||
void print(int);
|
void print(unsigned char, int = BYTE);
|
||||||
void print(unsigned int);
|
void print(int, int = DEC);
|
||||||
void print(long);
|
void print(unsigned int, int = DEC);
|
||||||
void print(unsigned long);
|
void print(long, int = DEC);
|
||||||
void print(long, int);
|
void print(unsigned long, int = DEC);
|
||||||
void print(double);
|
void print(double, int = 2);
|
||||||
void println(void);
|
|
||||||
void println(char);
|
|
||||||
void println(const char[]);
|
void println(const char[]);
|
||||||
void println(uint8_t);
|
void println(char, int = BYTE);
|
||||||
void println(int);
|
void println(unsigned char, int = BYTE);
|
||||||
void println(unsigned int);
|
void println(int, int = DEC);
|
||||||
void println(long);
|
void println(unsigned int, int = DEC);
|
||||||
void println(unsigned long);
|
void println(long, int = DEC);
|
||||||
void println(long, int);
|
void println(unsigned long, int = DEC);
|
||||||
void println(double);
|
void println(double, int = 2);
|
||||||
|
void println(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue