Как реализовать проверку >=0 в gnark для целых чисел без знака, когда a может быть любым целым числом (отрицательным или положительным) в чистом виде?
У меня есть следующий блок кода в чистом виде.
for i := 0; i < 10; i++ {
if val[i]>=0{
postcheck[i] = val[i]
bitpostcheck[i] = 1
} else {
postcheck[i] = 0
bitpostcheck[i] = 0
}
}
может быть отрицательным или положительным целым числом в открытом виде.
Я перевел приведенный выше код следующим образом:
for i := 0; i < 10; i++ {
postcheck[i] = api.Select(val[i], val[i], frontend.Variable(0))
bitpostcheck[i] = api.Select(val[i], frontend.Variable(1), frontend.Variable(0))
}
Здесьval
, postcheck и bitpostcheck — это все[10]frontend.Variable.
Но я получаюassertIsBoolean error
, поскольку в первой переменнойSelect
должно быть либо0
или1
ноval[i]
в принципе может быть любым целым числом без знака .
Поскольку речь идет только о целых числах без знака , отрицательные целые числа представляются как огромные положительные числа, подобные этому в .
Учитывая всю эту информацию, как мне реализоватьgolang
очистить код вgnark
? в основном чекval[i]>=0
?