Я пытаюсь определить знак числа для последующего расчета.
У меня есть код, подобный следующему:
double value = someClass.someGetterMethod();
double sign = value / Math.abs(value);
Я также пробовал:
double sign = (value < 0) ? -1d : 1d;
Не всегда, но иногда значение положительное, а знак отрицательный.
Обе переменные находятся в локальном стеке в нестатическом методе, поэтому я не верю, что есть условие гонки.
К сожалению, я не могу выпустить полный исходный код, и я не смог воспроизвести это в меньшем примере. Я подозреваю, что мое окружение как-то связано с этим:
Соответствующий код упакован в jar-файл, который затем загружается в виде zipgroupfileset в файл jar плагина, который загружается netLogo как «расширение» (плагин). Итак, запущен NetLogo, который загружает плагин jar, содержащий класс с этим кодом.
NetLogo требует, чтобы все плагины должны были быть скомпилированы для цели 1.5, поэтому у меня есть этот набор для lib и расширения в моих файлах сборки ant.
Я подключаю свой отладчик netbeans, изменяя netlogo vmargs, чтобы разрешить удаленную отладку
-Xdebug
-Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n
Я действительно в тупике. Это проблема с тем, как отладчик отображает переменные? Может быть, проблема с целевым требованием компиляции NetLogo 1.5?
Есть идеи?
Спасибо