this post was submitted on 08 Feb 2024
718 points (99.3% liked)

Programmer Humor

31324 readers
24 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 4 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] flying_sheep@lemmy.ml 16 points 5 months ago (2 children)

I guess you can always just add an assert not data.isna().any() in strategic locations

[–] Kajika@lemmy.ml 31 points 5 months ago (4 children)

That 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 while MyStruct input {}; will (that was the fix). Long story.

[–] fkn@lemmy.world 12 points 5 months ago

I too have forgotten to memset my structs in c++ tensorflow after prototyping in python.

[–] TheFadingOne@feddit.de 5 points 5 months ago* (last edited 5 months ago)

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 NaNs

[–] flying_sheep@lemmy.ml 2 points 5 months ago

Oof. C++ really is a harsh mistress.

[–] nickwitha_k@lemmy.sdf.org 1 points 5 months ago

Oof. This makes me appreciate the abstractions in Go. It's a small thing but initializing structs with zero values by default is nice.

[–] Omega_Haxors@lemmy.ml 3 points 5 months ago* (last edited 5 months ago) (1 children)

If (var.nan){var = 0} my beloved.

[–] hangukdise@lemmy.ml 2 points 5 months ago

It also depends on the context