Project
Test negatieve resten en lege invoer, weiger booleans of gedeelde factoren en geef de kleinste niet-negatieve oplossing plus periode terug.
Voeg maximaal acht congruenties samen met resten binnen ±10^9 en paarsgewijs coprieme moduli van 2 tot 10^6.
import math
def merge_congruences(pairs):
if type(pairs) is not list or len(pairs) > 8:
raise ValueError("crt.input")
answer, period = 0, 1
for pair in pairs:
if type(pair) not in (list, tuple) or len(pair) != 2 or any(type(x) is not int for x in pair):
raise ValueError("crt.pair")
residue, modulus = pair
if abs(residue) > 10**9 or not 2 <= modulus <= 10**6 or math.gcd(period, modulus) != 1:
raise ValueError("crt.modulus")
step = ((residue-answer)*pow(period, -1, modulus)) % modulus
answer += period*step
period *= modulus
answer %= period
return answer, period
Test negatieve resten en lege invoer, weiger booleans of gedeelde factoren en geef de kleinste niet-negatieve oplossing plus periode terug.
Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.
import math
def merge_congruences(pairs):
if type(pairs) is not list or len(pairs) > 8:
raise ValueError("crt.input")
answer, period = 0, 1
for pair in pairs:
if type(pair) not in (list, tuple) or len(pair) != 2 or any(type(x) is not int for x in pair):
raise ValueError("crt.pair")
residue, modulus = pair
if abs(residue) > 10**9 or not 2 <= modulus <= 10**6 or math.gcd(period, modulus) != 1:
raise ValueError("crt.modulus")
step = ((residue-answer)*pow(period, -1, modulus)) % modulus
answer += period*step
period *= modulus
answer %= period
return answer, period
Congrua biedt ontwikkelaars een AI-programmeerwerkruimte voor Windows voor wijzigingen die verschillende invoerwaarden combineren onder gedeelde aannames. Open het project en vermeld welke combinaties worden ondersteund voordat je het model om een implementatiewijziging vraagt. Het nuttige resultaat is code waarvan zowel geaccepteerde resultaten als afgewezen gevallen bij het toepassingscontract passen.
Vraag als voorbeeld om een beoordeling van het samenvoegen van modulaire voorwaarden waarbij de moduli onderling relatief priem moeten zijn. Geef een geldige combinatie en een combinatie buiten die aanname en vraag het model validatie en aanroepgedrag te onderzoeken. Zo ontstaat een afgebakende projecttaak zonder te suggereren dat de werkruimte een algemene wiskundige oplosser bevat.
Lees de voorgestelde patch op stilzwijgende terugvalopties die niet-ondersteunde invoer in een aannemelijk antwoord veranderen. De aanroepende code kan een duidelijke afwijzing nodig hebben in plaats van een benadering of willekeurig resultaat. Voer je relevante tests uit, controleer geaccepteerde uitvoer aan de hand van elke aangeleverde voorwaarde en onderzoek hoe de toepassing een mislukte combinatie aan de gebruiker presenteert.
Congrua verbindt met ondersteunde OpenAI-compatibele of Anthropic-eindpunten, met inloggegevens waar vereist. Selecteer een abliterated AI-model als dat via die verbinding beschikbaar is. Beperkingen, contextlimieten en tools blijven afhankelijk van het model en de server; gebruik hun ondersteuning om de code te ontwikkelen en te onderzoeken en beoordeel de werkelijke resultaten vervolgens zelf.
Alleen als je een ruimer contract vraagt en de gevolgen ervan beoordeelt. Stel eerst vast waarom de huidige implementatie de invoer afwijst. Een veralgemening kan andere logica en ander aanroepgedrag vereisen, dus houd die gescheiden van een correctie binnen bestaande aannames.
Controleer het aan de hand van elke invoervoorwaarde in plaats van slechts één representatieve voorwaarde. Gebruik ook onafhankelijke verwachte voorbeelden. Beoordeel de gecombineerde periode of andere geretourneerde metadata als aanroepende code daarvan afhangt, want een correct ogende waarde kan samengaan met onjuiste ondersteunende informatie.
Kies een duidelijke uitkomst die niet-ondersteunde invoer onderscheidt van een interne fout. Vraag het model de afwijzing tot aan de interface of API-reactie te volgen. Test vervolgens dat pad, zodat een mislukte combinatie niet als geldig resultaat wordt weergegeven.
Geef eerst de combineerfunctie, haar validatie, één aanroeper en kleine testgevallen. Contextcapaciteit hangt af van het eindpunt. Beoordeel ook toolbestemmingen: een afzonderlijk draaiende lokale modelserver maakt niet elke verbonden tool lokaal.
Congrua · Bijgewerkt 2026-10-25