Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ceee9e9

Browse files
Add print(signed char | short | float) explicitly
Add explicit print() support for signed char, unsigned/signed short, and float. Also, add `signed` keyword explicitly to int and long (even if unnecessary). Notice that `char` and `signed char` are considered different types, even if their ranges are the same (ditto for `unsigned char` in SAM). Both AVR and SAM seem to define [u]int8_t explicitly as [un]signed char and not as char, so printing them will print them as numbers as expected. (This does not apply to `int` and `signed int`; those are the same type.)
1 parent d6058b9 commit ceee9e9

File tree

4 files changed

+14
-6
lines changed

4 files changed

+14
-6
lines changed

‎hardware/arduino/avr/cores/arduino/Print.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ size_t Print::print(const String &s)
5959
return write(s.c_str(), s.length());
6060
}
6161

62-
size_t Print::print(long n, int base)
62+
size_t Print::print(signedlong n, int base)
6363
{
6464
if (base == 0) {
6565
return write(n);

‎hardware/arduino/avr/cores/arduino/Print.h‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,21 @@ class Print
5757

5858
size_t print(const __FlashStringHelper *);
5959
size_t print(const String &);
60-
size_t print(long, int = DEC);
60+
size_t print(signedlong, int = DEC);
6161
size_t print(unsigned long, int = DEC);
6262
size_t print(double, int = 2);
6363

6464
size_t print(const char str[]) { return write(str); }
6565
size_t print(const char c) { return write(c); }
6666
size_t print(const Printable &x) { return x.printTo(*this); }
6767

68+
size_t print( signed char n, int f = DEC) { return print(( signed long) n, f); }
69+
size_t print( signed short n, int f = DEC) { return print(( signed long) n, f); }
70+
size_t print( signed int n, int f = DEC) { return print(( signed long) n, f); }
6871
size_t print(unsigned char n, int f = DEC) { return print((unsigned long) n, f); }
69-
size_t print(intn, int f = DEC) { return print(( long) n, f); }
72+
size_t print(unsignedshortn, int f = DEC) { return print((unsigned long) n, f); }
7073
size_t print(unsigned int n, int f = DEC) { return print((unsigned long) n, f); }
74+
size_t print( float n, int f = 2 ) { return print(( double ) n, f); }
7175

7276
size_t println(void);
7377

‎hardware/arduino/sam/cores/arduino/Print.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ size_t Print::print(const String &s)
5151
return write(s.c_str(), s.length());
5252
}
5353

54-
size_t Print::print(long n, int base)
54+
size_t Print::print(signedlong n, int base)
5555
{
5656
if (base == 0) {
5757
return write(n);

‎hardware/arduino/sam/cores/arduino/Print.h‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,21 @@ class Print
5757

5858
size_t print(const __FlashStringHelper *);
5959
size_t print(const String &);
60-
size_t print(long, int = DEC);
60+
size_t print(signedlong, int = DEC);
6161
size_t print(unsigned long, int = DEC);
6262
size_t print(double, int = 2);
6363

6464
size_t print(const char str[]) { return write(str); }
6565
size_t print(const char c) { return write(c); }
6666
size_t print(const Printable &x) { return x.printTo(*this); }
6767

68+
size_t print( signed char n, int f = DEC) { return print(( signed long) n, f); }
69+
size_t print( signed short n, int f = DEC) { return print(( signed long) n, f); }
70+
size_t print( signed int n, int f = DEC) { return print(( signed long) n, f); }
6871
size_t print(unsigned char n, int f = DEC) { return print((unsigned long) n, f); }
69-
size_t print(intn, int f = DEC) { return print(( long) n, f); }
72+
size_t print(unsignedshortn, int f = DEC) { return print((unsigned long) n, f); }
7073
size_t print(unsigned int n, int f = DEC) { return print((unsigned long) n, f); }
74+
size_t print( float n, int f = 2 ) { return print(( double ) n, f); }
7175

7276
size_t println(void);
7377

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /