rshift = ((J[i]-1)*((2*net)-J[i]) >> -1);
L[i] = rshift + K[i]-J[i];
когда я компилирую это, я получаю «error: выражение должно иметь целочисленный тип или тип enum», соответствующий первой строке. кроме 'i' все имеют двойную точность.
это не работает ни для левого, ни для правого сдвига. Я использую Fedora 12 и у меня есть nvcc 3.2, V0.2.1221. для c ++ (компилятор g ++) работает отлично.
но когда я попробовал это для
rshift = ((J[i]-1)*((2*net)-J[i]) >>= -1);
L[i] = rshift + K[i]-J[i];
это было «ошибка: выражение должно быть изменяемым lvalue», я много пробовал и не мог это исправить. есть идеи?