Я пишу код Python 2.6, который взаимодействует с NI TestStand 4.2 через COM в Windows. Я хочу сделать значение "NAN" для переменной, но если я передам его float ('nan')
, TestStand отобразит его как IND
.
Очевидно, TestStand различает значения с плавающей запятой "IND" и "NAN". Согласно справке TestStand :
IND
соответствует Signaling NaN в Visual C ++, тогда как NAN
соответствует QuietNaN Это означает, что float ('nan')
Python фактически является сигнальным NaN при передаче через COM. Однако из того, что я читал о Сигнализация NaN , кажется, что Сигнализация NaN немного «экзотична», а Тихий NaN - ваш «обычный» NaN . Поэтому у меня есть сомнения, что Python будет передавать сигнальный NaN через COM. Как я могу узнать, передается ли Python float ('nan')
через COM как сигнальный NaN или Quiet NaN , или, может быть, Неопределенный ?
Есть ли способ сделать Сигнальный NaN по сравнению с QuietNaN или Неопределенный в Python при взаимодействии с Другие языки? (Возможно, с использованием ctypes
?) Я предполагаю, что это будет решение для конкретной платформы, и в данном случае я согласен с этим.
Обновление: В редакторе последовательности TestStand я попытался сделать две переменные, одна из которых имеет значение NAN
, а другая - IND
. Затем я сохранил его в файл. Затем я открыл файл и прочитал каждую переменную с помощью Python. В обоих случаях Python читает их как nan
float.