Как реализовать проверку >=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?

0 ответов

Другие вопросы по тегам