Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions SingleSource/UnitTests/fixed_point.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,18 @@ int main(void) {
print_float("mul int overflow signed", small_unsigned * 3);
print_float("mul fp overflow signed", small_unsigned * 3.3_8_8);

// Division checks
auto divsignval = -12.0_8_8;
auto divunsignval = 12.0_8_8;
print_float("div int signed no remainder", divsignval / 2);
print_float("div fp signed no rounding", divsignval / 2.5_8_8);
print_float("div int large signed", small_signed / 3);
print_float("div fp large signed", small_signed / 3.3_8_8);
print_float("div int unsigned no remainder", divunsignval / 2);
print_float("div fp unsigned no rounding", divunsignval / 2.5_8_8);
print_float("div int large unsigned", small_unsigned / 3);
print_float("div fp large unsigned", small_unsigned / 3.3_u8_8);

// Comparison checks
printf("sign < unsigned %s\n", (-10.0_8_8 < 10.0_8_8) ? "true" : "false");
printf("sign > unsigned %s\n", (-10.0_8_8 > 10.0_8_8) ? "true" : "false");
Expand Down
8 changes: 8 additions & 0 deletions SingleSource/UnitTests/fixed_point.reference_output
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,14 @@ mul int small signed 32.39
mul fp small signed 35.59
mul int overflow signed 88.29
mul fp overflow signed 147.70
div int signed no remainder -6.00
div fp signed no rounding -4.80
div int large signed -16.93
div fp large signed -15.41
div int unsigned no remainder 6.00
div fp unsigned no rounding 4.80
div int large unsigned 66.70
div fp large unsigned 60.69
sign < unsigned true
sign > unsigned false
sign == unsigned false
Expand Down