Produto vetorial de inteiros
Calcule o produto vetorial orientado pela mão direita de dois vetores com três componentes inteiros.
def cross_product(a, b):
if type(a) not in (list, tuple) or type(b) not in (list, tuple):
raise ValueError("vector.type")
if len(a) != 3 or len(b) != 3 or any(type(x) is not int for x in (*a, *b)):
raise ValueError("vector.components")
x, y, z = a
u, v, w = b
return (y*w-z*v, z*u-x*w, x*v-y*u)| Revise antes de aplicar | Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações. |
|---|---|
| Modelos | 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. |
| Projeto | Teste vetores paralelos, a ordem da base e coordenadas grandes, rejeitando tamanhos incorretos e componentes não inteiros sem alterar as entradas. |
def cross_product(a, b):
if type(a) not in (list, tuple) or type(b) not in (list, tuple):
raise ValueError("vector.type")
if len(a) != 3 or len(b) != 3 or any(type(x) is not int for x in (*a, *b)):
raise ValueError("vector.components")
x, y, z = a
u, v, w = b
return (y*w-z*v, z*u-x*w, x*v-y*u)Explicite as premissas de orientação antes de editar
VectorAnvil oferece a desenvolvedores um ambiente Windows para inspecionar código-fonte, conversar sobre programação e propor alterações com um modelo conectado. Para código numérico, comece pela convenção da qual o restante da aplicação depende. Uma expressão aparentemente correta ainda pode ser a alteração errada se o chamador interpretar sua saída em outro sistema de coordenadas.
Uma tarefa é revisar uma rotina de produto vetorial pela regra da mão direita para vetores inteiros de três componentes. Inclua seus chamadores e as premissas de tipos na conversa e pergunte como a ordem das entradas afeta o resultado. Declare se a rotina deve deixar ambas as entradas inalteradas. Isso dá ao modelo um problema específico de manutenção sem tratar um exemplo matemático como recurso integrado da aplicação.
Avalie a proposta com casos de vetores da base e vetores paralelos no seu projeto. Inverta a ordem das entradas e confira se a orientação segue a convenção declarada. Inclua coordenadas grandes se forem relevantes para seus tipos de dados e confira o caminho de rejeição de entradas malformadas. Revise as alterações nos pontos de chamada com o mesmo cuidado dedicado à rotina.
Selecione um modelo por um endpoint suportado compatível com OpenAI ou da Anthropic. Se esse endpoint oferecer modelos de IA sem filtros, VectorAnvil pode usar a conexão suportada com as credenciais exigidas. O modelo e o servidor escolhidos determinam restrições de resposta, ferramentas e limites de contexto; as convenções do projeto continuam sendo o critério para aceitar o resultado.
Perguntas para revisar código vetorial
Qual convenção devo incluir na solicitação?
Declare a convenção de coordenadas, a ordem esperada das entradas e os tipos de componentes usados pela aplicação. Inclua um resultado conhecido do contrato existente. Isso fundamenta a discussão e facilita perceber propostas que invertam silenciosamente a orientação.
Por que comparar as entradas trocadas?
Neste exemplo, trocar os dois vetores deve inverter a orientação do produto vetorial. Use um caso com resultado diferente de zero para que a verificação seja significativa. Inspecione também o código chamador, pois a ordem dos argumentos nele determina a convenção realmente usada.
Vetores paralelos devem causar um erro?
Descreva a política da aplicação em vez de deixar a proposta inventar uma. Um resultado zero pode ser válido para a rotina, mas exigir tratamento especial de um consumidor posterior. Inclua esse consumidor se seu comportamento fizer parte da alteração solicitada.
Posso ampliar a rotina para outros tipos numéricos?
Trate isso como uma mudança separada de contrato, com tipos aceitos e casos de verificação explícitos. O exemplo de vetores inteiros não comprova comportamento adequado de ponto flutuante ou de estouro para sua aplicação. Revise os tipos reais e execute as verificações pertinentes do projeto.
VectorAnvil · Atualizado 2026-10-25