#include #include void TestUQ8x8(void) { Serial.println(F("The size of UQ8x8 on your system is:")); Serial.println(sizeof(UQ8x8)); Serial.println(); UQ8x8 a = 1.5; Serial.println(F("Displaying a as float:")); Serial.println(static_cast(a)); Serial.println(); Serial.println(F("Displaying the integer part of a")); Serial.println(a.getInteger()); Serial.println(); Serial.println(F("Displaying floorFixed(a):")); Serial.println(static_cast(floorFixed(a))); Serial.println(); Serial.println(F("Displaying ceilFixed(a):")); Serial.println(static_cast(ceilFixed(a))); Serial.println(); Serial.println(F("Displaying roundFixed(a):")); Serial.println(static_cast(roundFixed(a))); Serial.println(); Serial.println(F("Displaying truncFixed(a):")); Serial.println(static_cast(truncFixed(a))); Serial.println(); UQ8x8 b = 5.25; Serial.println(F("Displaying b as float:")); Serial.println(static_cast(b)); Serial.println(); Serial.println(F("Displaying the integer part of b")); Serial.println(b.getInteger()); Serial.println(); Serial.println(F("Displaying floorFixed(b):")); Serial.println(static_cast(floorFixed(b))); Serial.println(); Serial.println(F("Displaying ceilFixed(b):")); Serial.println(static_cast(ceilFixed(b))); Serial.println(); Serial.println(F("Displaying roundFixed(b):")); Serial.println(static_cast(roundFixed(b))); Serial.println(); Serial.println(F("Displaying truncFixed(b):")); Serial.println(static_cast(truncFixed(b))); Serial.println(); Serial.println(F("Displaying a + b as float:")); Serial.println(static_cast(a + b)); Serial.println(); Serial.println(F("Displaying a - b as float:")); Serial.println(F("(Note the underflow due lack of sign bit)")); Serial.println(static_cast(a - b)); Serial.println(); Serial.println(F("Displaying b - a as float:")); Serial.println(static_cast(b - a)); Serial.println(); Serial.println(F("Displaying a * b as float:")); Serial.println(static_cast(a * b)); Serial.println(); Serial.println(F("Displaying a / b as float:")); Serial.println(static_cast(a / b)); Serial.println(); } void TestSQ7x8(void) { Serial.println(F("The size of SQ7x8 on your system is:")); Serial.println(sizeof(SQ7x8)); Serial.println(); SQ7x8 a = 1.5; Serial.println(F("Displaying a as float:")); Serial.println(static_cast(a)); Serial.println(); Serial.println(F("Displaying the integer part of a")); Serial.println(a.getInteger()); Serial.println(); Serial.println(F("Displaying floorFixed(a):")); Serial.println(static_cast(floorFixed(a))); Serial.println(); Serial.println(F("Displaying ceilFixed(a):")); Serial.println(static_cast(ceilFixed(a))); Serial.println(); Serial.println(F("Displaying roundFixed(a):")); Serial.println(static_cast(roundFixed(a))); Serial.println(); Serial.println(F("Displaying truncFixed(a):")); Serial.println(static_cast(truncFixed(a))); Serial.println(); SQ7x8 b = 5.25; Serial.println(F("Displaying b as float:")); Serial.println(static_cast(b)); Serial.println(); Serial.println(F("Displaying the integer part of b")); Serial.println(b.getInteger()); Serial.println(); Serial.println(F("Displaying floorFixed(b):")); Serial.println(static_cast(floorFixed(b))); Serial.println(); Serial.println(F("Displaying ceilFixed(b):")); Serial.println(static_cast(ceilFixed(b))); Serial.println(); Serial.println(F("Displaying roundFixed(b):")); Serial.println(static_cast(roundFixed(b))); Serial.println(); Serial.println(F("Displaying truncFixed(b):")); Serial.println(static_cast(truncFixed(b))); Serial.println(); Serial.println(F("Displaying a + b as float:")); Serial.println(static_cast(a + b)); Serial.println(); Serial.println(F("Displaying a - b as float:")); Serial.println(F("(Note this is correct due to sign bit)")); Serial.println(static_cast(a - b)); Serial.println(); Serial.println(F("Displaying b - a as float:")); Serial.println(static_cast(b - a)); Serial.println(); Serial.println(F("Displaying a * b as float:")); Serial.println(static_cast(a * b)); Serial.println(); Serial.println(F("Displaying a / b as float:")); Serial.println(static_cast(a / b)); Serial.println(); } void setup() { Serial.begin(9600); while(!Serial); TestUQ8x8(); TestSQ7x8(); } void loop() { }