11-13-2020 03:05 PM - edited 11-13-2020 03:06 PM
Here's a fun constraint I discovered after running into an issue with divide by 0 causing 2^31 loop iterations. I edited the number down to see what the actual limit for the loop iterations here is and it is 134217728. 134217727 works just fine. So the question is what will probe 4 read after running the program?
Answer:
I would love to hear more info about why this was chosen as a constraint!
11-13-2020 03:45 PM
Well, if you run it in LV 64-bit, it reads 134217727 🙂
And if you change the Array type (and coercion node) to Single precision, it works just fine there as well.
I have a guess. 32 bit LabVIEW has a memory limit of 2 Gibibytes. 134217728x 8-byte doubles creates a value of 1 Gibibyte. I bet there is some buffer allocation somewhere that's doubling the memory usage accidentally, which hits the limit.