Projeto
Teste zero e o maior valor que cabe, rejeitando booleanos, larguras inválidas e valores que não cabem.
Converta palavras inteiras para código Gray e de volta com largura explícita de um a 16 bits.
def checked_word(value, width):
if type(width) is not int or not 1 <= width <= 16:
raise ValueError("word.width")
if type(value) is not int or not 0 <= value < (1 << width):
raise ValueError("word.value")
return value
def to_gray(value, width):
value = checked_word(value, width)
return value ^ (value >> 1)
def from_gray(value, width):
value = checked_word(value, width)
result = 0
while value:
result ^= value
value >>= 1
return resultTeste zero e o maior valor que cabe, rejeitando booleanos, larguras inválidas e valores que não cabem.
Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.
def checked_word(value, width):
if type(width) is not int or not 1 <= width <= 16:
raise ValueError("word.width")
if type(value) is not int or not 0 <= value < (1 << width):
raise ValueError("word.value")
return value
def to_gray(value, width):
value = checked_word(value, width)
return value ^ (value >> 1)
def from_gray(value, width):
value = checked_word(value, width)
result = 0
while value:
result ^= value
value >>= 1
return resultGraySorrel é um ambiente de programação com IA para Windows que torna visíveis as premissas de representação durante o desenvolvimento. Inclua o código de conversão e seu consumidor na conversa sobre o projeto e indique quais valores e larguras a interface aceita. Esse contexto ajuda o modelo a discutir uma alteração concreta, em vez de sugerir uma rotina genérica com limites diferentes.
Considere uma conversão de código Gray de largura fixa como tarefa. Peça uma inspeção conjunta das conversões direta e inversa, incluindo a verificação de entrada compartilhada. Forneça alguns valores conhecidos e um caso no limite da largura; depois solicite apenas as correções necessárias ao contrato pretendido. O exemplo dá à conversa um objetivo testável.
Revise como a proposta trata valores fora da largura escolhida. O truncamento silencioso e a rejeição explícita produzem comportamentos diferentes no software, mesmo quando as conversões comuns coincidem. Execute os testes do projeto, compare conversões de ida e volta no intervalo permitido e examine o tratamento de erros pelo chamador. Mantenha codificações esperadas exatas, além de exemplos reversíveis.
Conecte um modelo por um endpoint compatível com OpenAI ou Anthropic aceito, adicionando credenciais se necessário. A escolha de IA sem censura se aplica quando seu endpoint oferece esse tipo de modelo; suas restrições reais continuam relevantes. O suporte a ferramentas e a capacidade de contexto dependem do modelo e do servidor, enquanto você continua responsável pelo contrato e pela alteração final.
Não. Duas funções podem inverter uma à outra e ainda implementar o mapeamento errado. Inclua codificações conhecidas de forma independente e verificações de ida e volta, e examine como o código consumidor interpreta o resultado antes de aceitar a alteração proposta.
Especifique se o contrato os rejeita ou os trunca deliberadamente. Peça ao modelo para rastrear a validação existente e as expectativas dos chamadores. Aplicar uma máscara altera o comportamento se os chamadores antes recebiam um erro, mesmo que simplifique a conversão.
Comece pelo código que armazena, compara ou transmite o valor convertido, junto dos testes relevantes. Isso revela premissas de largura e representação. Amplie o contexto apenas quando a inspeção identificar outra dependência necessária para entender a edição proposta.
Não. Verifique o intervalo permitido no código e nos testes. Examine também a execução das ferramentas: usar um servidor de modelo local executado separadamente não torna local toda ferramenta conectada nem determina onde esses testes realmente são executados.
GraySorrel · Atualizado 2026-10-25