float
, whereas the value in the map file is fixed-pointfloat
, whereas the value in the map file is fixed-point int(0.2 * 1024) / 1024 = 0.19921875
vs
nearest_int(0.2 * 1024) / 1024 = 0.200195312 5
could explain it xdd #[track_caller]
pub fn run_program_assert_output(
program: &(String, Program),
entry_point: &str,
args: &[JITValue],
outputs: &[JITValue],
) {
let result = run_program(program, entry_point, args);
assert_eq!(result.return_values.as_slice(), outputs, "assert mismatch on: {}", std::panic::Location::caller());
}
int(0.2 * 1024) / 1024 = 0.19921875
vs
nearest_int(0.2 * 1024) / 1024 = 0.200195312 5
could explain it xdd #[derive(Error)]
pub struct Error {
pub backtrace: Backtrace,
pub source: ErrorImpl,
}
#[derive(Error, Debug)]
pub enum MyError {
Io {
#[from]
source: io::Error,
backtrace: Backtrace,
},
}
Error
type, a wrapper around a dynamic error type.f2fx
to ensure correct round-trip with fx2f
.
lock_*
functions with std::mutex
through the wrapper class CLock
. Move lock classes to base/lock.h
.
The CLock
wrapper class is only necessary because the clang thread-safety attributes are not available for std::mutex
except when explicitly using libc++.
Use CLock
and CLockScope
instead of std::mutex
and add clang thread-safety analysis annotations everywhere except for usages in engine graphics and video, as those usages also involv...