708
Floating-point arithmetic
(lemmy.ml)
Post funny things about programming here! (Or just rant about your favourite programming language.)
I guess you can always just add an
assert not data.isna().any()
in strategic locationsThat could be a nice way. Sadly it was in a C++ code base (using tensorflow). Therefore no such nice things (would be slow too). I skill-issued myself thinking a struct would be 0 -initialized but
MyStruct input;
would not whileMyStruct input {};
will (that was the fix). Long story.I too have forgotten to memset my structs in c++ tensorflow after prototyping in python.
If you use the GNU libc the
feenableexcept
function, which you can use to enable certain floating point exceptions, could be useful to catch unexpected/unwanted NaNsOof. C++ really is a harsh mistress.
Oof. This makes me appreciate the abstractions in Go. It's a small thing but initializing structs with zero values by default is nice.
If (var.nan){var = 0} my beloved.
It also depends on the context