Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- william@beaglebone:~/dev$ diff msp430-print.cpp cc3200-print.cpp > output.txt
- 1c1
- <
- ---
- > /*
- 4,5c4,5
- <
- < This library is free software; you can redistribute it andor
- ---
- >
- > This library is free software; you can redistribute it and/or
- 9c9
- <
- ---
- >
- 14c14
- <
- ---
- >
- 18c18
- <
- ---
- >
- 21,27c21
- <
- <
- < #include stdlib.h
- < #include stdio.h
- < #include string.h
- < #include math.h
- < #include Energia.h
- ---
- > */
- 29c23,28
- < #include Print.h
- ---
- > #include <stdlib.h>
- > #include <stdio.h>
- > #include <string.h>
- > #include <math.h>
- > #include "Energia.h"
- > #include "Print.h"
- 31c30
- < Public Methods
- ---
- > // Public Methods //////////////////////////////////////////////////////////////
- 33,34c32,33
- < default implementation may be overridden
- < size_t Printwrite(const uint8_t buffer, size_t size)
- ---
- > /* default implementation: may be overridden */
- > size_t Print::write(const uint8_t *buffer, size_t size)
- 38c37
- < n += write(buffer++);
- ---
- > n += write(*buffer++);
- 43c42,43
- < size_t Printprint(const String &s)
- ---
- >
- > size_t Print::print(const String &s)
- 45,49c45,49
- < size_t n = 0;
- < for (uint16_t i = 0; i s.length(); i++) {
- < n += write(s[i]);
- < }
- < return n;
- ---
- > size_t n = 0;
- > for (uint16_t i = 0; i < s.length(); i++) {
- > n += write(s[i]);
- > }
- > return n;
- 52c52
- < size_t Printprint(const char str[])
- ---
- > size_t Print::print(const char str[])
- 54c54
- < return write(str);
- ---
- > return write(str);
- 57c57
- < size_t Printprint(char c)
- ---
- > size_t Print::print(char c)
- 59c59
- < return write(c);
- ---
- > return write(c);
- 62c62
- < size_t Printprint(unsigned char b, int base)
- ---
- > size_t Print::print(unsigned char b, int base)
- 64c64
- < return print((unsigned long) b, base);
- ---
- > return print((unsigned long) b, base);
- 67c67
- < size_t Printprint(int n, int base)
- ---
- > size_t Print::print(int n, int base)
- 69c69
- < return print((long) n, base);
- ---
- > return print((long) n, base);
- 72c72
- < size_t Printprint(unsigned int n, int base)
- ---
- > size_t Print::print(unsigned int n, int base)
- 74c74
- < return print((unsigned long) n, base);
- ---
- > return print((unsigned long) n, base);
- 77c77
- < size_t Printprint(long n, int base)
- ---
- > size_t Print::print(long n, int base)
- 79,85c79,89
- < if (base == 0) {
- < return write(n);
- < } else if (base == 10) {
- < if (n 0) {
- < int t = print('-');
- < n = -n;
- < return printNumber(n, 10) + t;
- ---
- > if (base == 0) {
- > return write(n);
- > } else if (base == 10) {
- > if (n < 0) {
- > int t = print('-');
- > n = -n;
- > return printNumber(n, 10) + t;
- > }
- > return printNumber(n, 10);
- > } else {
- > return printNumber(n, base);
- 87,90d90
- < return printNumber(n, 10);
- < } else {
- < return printNumber(n, base);
- < }
- 93c93
- < size_t Printprint(unsigned long n, int base)
- ---
- > size_t Print::print(unsigned long n, int base)
- 95,96c95,96
- < if (base == 0) return write(n);
- < else return printNumber(n, base);
- ---
- > if (base == 0) return write(n);
- > else return printNumber(n, base);
- 99c99
- < size_t Printprint(double n, int digits)
- ---
- > size_t Print::print(double n, int digits)
- 101c101
- < return printFloat(n, digits);
- ---
- > return printFloat(n, digits);
- 104c104
- < size_t Printprintln(const __FlashStringHelper ifsh)
- ---
- > size_t Print::print(float n, int digits)
- 106,108c106
- < size_t n = print(ifsh);
- < n += println();
- < return n;
- ---
- > return printFloat(n, digits);
- 111c109,116
- < size_t Printprint(const Printable& x)
- ---
- > //size_t Print::println(const __FlashStringHelper *ifsh)
- > //{
- > // size_t n = print(ifsh);
- > // n += println();
- > // return n;
- > //}
- >
- > size_t Print::print(const Printable& x)
- 113c118
- < return x.printTo(this);
- ---
- > return x.printTo(*this);
- 116c121
- < size_t Printprintln(void)
- ---
- > size_t Print::println(void)
- 118,120c123,125
- < size_t n = print('r');
- < n += print('n');
- < return n;
- ---
- > size_t n = print('\r');
- > n += print('\n');
- > return n;
- 123c128
- < size_t Printprintln(const String &s)
- ---
- > size_t Print::println(const String &s)
- 125,127c130,132
- < size_t n = print(s);
- < n += println();
- < return n;
- ---
- > size_t n = print(s);
- > n += println();
- > return n;
- 130c135
- < size_t Printprintln(const char c[])
- ---
- > size_t Print::println(const char c[])
- 132,134c137,139
- < size_t n = print(c);
- < n += println();
- < return n;
- ---
- > size_t n = print(c);
- > n += println();
- > return n;
- 137c142
- < size_t Printprintln(char c)
- ---
- > size_t Print::println(char c)
- 139,141c144,146
- < size_t n = print(c);
- < n += println();
- < return n;
- ---
- > size_t n = print(c);
- > n += println();
- > return n;
- 144c149
- < size_t Printprintln(unsigned char b, int base)
- ---
- > size_t Print::println(unsigned char b, int base)
- 146,148c151,153
- < size_t n = print(b, base);
- < n += println();
- < return n;
- ---
- > size_t n = print(b, base);
- > n += println();
- > return n;
- 151c156
- < size_t Printprintln(int num, int base)
- ---
- > size_t Print::println(int num, int base)
- 153,155c158,160
- < size_t n = print(num, base);
- < n += println();
- < return n;
- ---
- > size_t n = print(num, base);
- > n += println();
- > return n;
- 158c163
- < size_t Printprintln(unsigned int num, int base)
- ---
- > size_t Print::println(unsigned int num, int base)
- 160,162c165,167
- < size_t n = print(num, base);
- < n += println();
- < return n;
- ---
- > size_t n = print(num, base);
- > n += println();
- > return n;
- 165c170
- < size_t Printprintln(long num, int base)
- ---
- > size_t Print::println(long num, int base)
- 167,169c172,174
- < size_t n = print(num, base);
- < n += println();
- < return n;
- ---
- > size_t n = print(num, base);
- > n += println();
- > return n;
- 172c177
- < size_t Printprintln(unsigned long num, int base)
- ---
- > size_t Print::println(unsigned long num, int base)
- 174,176c179,181
- < size_t n = print(num, base);
- < n += println();
- < return n;
- ---
- > size_t n = print(num, base);
- > n += println();
- > return n;
- 179c184
- < size_t Printprintln(double num, int digits)
- ---
- > size_t Print::println(double num, int digits)
- 181,183c186,188
- < size_t n = print(num, digits);
- < n += println();
- < return n;
- ---
- > size_t n = print(num, digits);
- > n += println();
- > return n;
- 186c191
- < size_t Printprintln(const Printable& x)
- ---
- > size_t Print::println(float num, int digits)
- 188,190c193,202
- < size_t n = print(x);
- < n += println();
- < return n;
- ---
- > size_t n = print(num, digits);
- > n += println();
- > return n;
- > }
- >
- > size_t Print::println(const Printable& x)
- > {
- > size_t n = print(x);
- > n += println();
- > return n;
- 193c205
- < Private Methods
- ---
- > // Private Methods /////////////////////////////////////////////////////////////
- 195,197c207,209
- < size_t PrintprintNumber(unsigned long n, uint8_t base) {
- < char buf[8 sizeof(long) + 1]; Assumes 8-bit chars plus zero byte.
- < char str = &buf[sizeof(buf) - 1];
- ---
- > size_t Print::printNumber(unsigned long n, uint8_t base) {
- > char buf[8 * sizeof(long) + 1]; // Assumes 8-bit chars plus zero byte.
- > char *str = &buf[sizeof(buf) - 1];
- 199c211
- < str = '0';
- ---
- > *str = '\0';
- 201,202c213,214
- < prevent crash if called with base == 1
- < if (base 2) base = 10;
- ---
- > // prevent crash if called with base == 1
- > if (base < 2) base = 10;
- 204,209c216,221
- < do {
- < unsigned long m = n;
- < n = base;
- < char c = m - base n;
- < --str = c 10 c + '0' c + 'A' - 10;
- < } while(n);
- ---
- > do {
- > unsigned long m = n;
- > n /= base;
- > char c = m - base * n;
- > *--str = c < 10 ? c + '0' : c + 'A' - 10;
- > } while(n);
- 211c223
- < return write(str);
- ---
- > return write(str);
- 214c226
- < size_t PrintprintFloat(double number, uint8_t digits)
- ---
- > size_t Print::printFloat(double number, uint8_t digits)
- 216,223c228
- < size_t n = 0;
- <
- < Handle negative numbers
- < if (number 0.0)
- < {
- < n += print('-');
- < number = -number;
- < }
- ---
- > size_t n = 0;
- 225,240c230,235
- < Round correctly so that print(1.999, 2) prints as 2.00
- < double rounding = 0.5;
- < for (uint8_t i=0; idigits; ++i)
- < rounding = 10.0;
- <
- < number += rounding;
- <
- < Extract the integer part of the number and print it
- < unsigned long int_part = (unsigned long)number;
- < double remainder = number - (double)int_part;
- < n += print(int_part);
- <
- < Print the decimal point, but only if there are digits beyond
- < if (digits 0) {
- < n += print(.);
- < }
- ---
- > // Handle negative numbers
- > if (number < 0.0)
- > {
- > n += print('-');
- > number = -number;
- > }
- 242,251c237,303
- < Extract digits from the remainder one at a time
- < while (digits-- 0)
- < {
- < remainder = 10.0;
- < int toPrint = int(remainder);
- < n += print(toPrint);
- < remainder -= toPrint;
- < }
- <
- < return n;
- ---
- > // Round correctly so that print(1.999, 2) prints as "2.00"
- > double rounding = 0.5;
- > for (uint8_t i=0; i<digits; ++i)
- > rounding /= 10.0;
- >
- > number += rounding;
- >
- > // Extract the integer part of the number and print it
- > unsigned long int_part = (unsigned long)number;
- > double remainder = number - (double)int_part;
- > n += print(int_part);
- >
- > // Print the decimal point, but only if there are digits beyond
- > if (digits > 0) {
- > n += print(".");
- > }
- >
- > // Extract digits from the remainder one at a time
- > while (digits-- > 0)
- > {
- > remainder *= 10.0;
- > int toPrint = int(remainder);
- > n += print(toPrint);
- > remainder -= toPrint;
- > }
- >
- > return n;
- > }
- >
- > size_t Print::printFloat(float number, uint8_t digits)
- > {
- > size_t n = 0;
- >
- > // Handle negative numbers
- > if (number < 0.0)
- > {
- > n += print('-');
- > number = -number;
- > }
- >
- > // Round correctly so that print(1.999, 2) prints as "2.00"
- > float rounding = 0.5;
- > for (uint8_t i=0; i<digits; ++i)
- > rounding /= 10.0;
- >
- > number += rounding;
- >
- > // Extract the integer part of the number and print it
- > unsigned long int_part = (unsigned long)number;
- > float remainder = number - (float)int_part;
- > n += print(int_part);
- >
- > // Print the decimal point, but only if there are digits beyond
- > if (digits > 0) {
- > n += print(".");
- > }
- >
- > // Extract digits from the remainder one at a time
- > while (digits-- > 0)
- > {
- > remainder *= 10.0;
- > int toPrint = int(remainder);
- > n += print(toPrint);
- > remainder -= toPrint;
- > }
- >
- > return n;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement