pw_assert: adds float near and float exact

- Renames PW_{D,}CHECK_FLOAT_* macros to
  PW_{D,}CHECK_FLOAT_EXACT_* to make it really obvious that it
  ignores floating point precision limits and ergo accumulated
  error which may cause accidental Asserts if the developer
  was not aware of this.
- Adds PW_{D,}CHECK_FLOAT_NEAR to provide an Assert that allows
  the developer to take float precision limits into account.
- Updates some stale comments and TODOs.

Change-Id: Id39921775db6386bc48dc8a9fbc7afd9937addfb
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/14041
Commit-Queue: Ewout van Bekkum <ewout@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
diff --git a/pw_assert/assert_backend_compile_test.cc b/pw_assert/assert_backend_compile_test.cc
index 372810b..da19e34 100644
--- a/pw_assert/assert_backend_compile_test.cc
+++ b/pw_assert/assert_backend_compile_test.cc
@@ -134,13 +134,14 @@
   float x_float = 50.5;
   float y_float = 66.5;
 
-  PW_CHECK_FLOAT_LE(x_float, y_float);
-  PW_CHECK_FLOAT_LE(x_float, y_float, "FLOAT: " FAIL_IF_DISPLAYED);
-  PW_CHECK_FLOAT_LE(x_float, y_float, "FLOAT: " FAIL_IF_DISPLAYED_ARGS, z);
+  PW_CHECK_FLOAT_EXACT_LE(x_float, y_float);
+  PW_CHECK_FLOAT_EXACT_LE(x_float, y_float, "FLOAT: " FAIL_IF_DISPLAYED);
+  PW_CHECK_FLOAT_EXACT_LE(
+      x_float, y_float, "FLOAT: " FAIL_IF_DISPLAYED_ARGS, z);
 
-  PW_CHECK_FLOAT_GE(x_float, y_float);
-  PW_CHECK_FLOAT_GE(x_float, y_float, "FLOAT: " FAIL_IF_HIDDEN);
-  PW_CHECK_FLOAT_GE(x_float, y_float, "FLOAT: " FAIL_IF_HIDDEN_ARGS, z);
+  PW_CHECK_FLOAT_EXACT_GE(x_float, y_float);
+  PW_CHECK_FLOAT_EXACT_GE(x_float, y_float, "FLOAT: " FAIL_IF_HIDDEN);
+  PW_CHECK_FLOAT_EXACT_GE(x_float, y_float, "FLOAT: " FAIL_IF_HIDDEN_ARGS, z);
 }
 
 // Don't exhaustively test the DCHECKs but have a sampling of them.
@@ -150,7 +151,7 @@
   PW_DCHECK(5 == 10, "Message");
   PW_DCHECK(5 == 10, "Message: %d", 5);
   PW_DCHECK_INT_LE(5.4, 10.0);
-  PW_DCHECK_FLOAT_EQ(5.4, 10.0, "Message");
+  PW_DCHECK_FLOAT_EXACT_EQ(5.4, 10.0, "Message");
 }
 
 static int Add3(int a, int b, int c) { return a + b + c; }