math/big — validation proof
Go’s own math/big test suite, converted to C# by go2cs, built against the converted standard
library, run under the Go-semantics test host, and compared verdict for verdict against a clean
go test -json baseline of the same sources. This page is generated by the converter from that
comparison — it is the evidence behind the math/big row in
Validated Test Packages.
Validated 2026-08-29 · converter 773afa2c2
224 matched · 2 disclosed — Go 1.23.12, windows/amd64, converted package
src/core/math/big.
Verdicts
| Test | go test |
go2cs |
|---|---|---|
TestAbsZ |
pass | pass |
TestAliasing |
pass | pass |
TestAliasing/Abs |
pass | pass |
TestAliasing/Add |
pass | pass |
TestAliasing/And |
pass | pass |
TestAliasing/AndNot |
pass | pass |
TestAliasing/Div |
pass | pass |
TestAliasing/Exp-XY |
pass | pass |
TestAliasing/Exp-XZ |
pass | pass |
TestAliasing/Exp-YZ |
pass | pass |
TestAliasing/GCD |
pass | pass |
TestAliasing/GCD-X |
pass | pass |
TestAliasing/GCD-Y |
pass | pass |
TestAliasing/Lsh |
pass | pass |
TestAliasing/Mod |
pass | pass |
TestAliasing/ModInverse |
pass | pass |
TestAliasing/ModSqrt |
pass | pass |
TestAliasing/Mul |
pass | pass |
TestAliasing/Neg |
pass | pass |
TestAliasing/Not |
pass | pass |
TestAliasing/Or |
pass | pass |
TestAliasing/Quo |
pass | pass |
TestAliasing/Rand |
pass | pass |
TestAliasing/Rem |
pass | pass |
TestAliasing/Rsh |
pass | pass |
TestAliasing/Set |
pass | pass |
TestAliasing/SetBit |
pass | pass |
TestAliasing/Sqrt |
pass | pass |
TestAliasing/Sub |
pass | pass |
TestAliasing/Xor |
pass | pass |
TestAppendText |
pass | pass |
TestBinomial |
pass | pass |
TestBit |
pass | pass |
TestBitLen |
pass | pass |
TestBitSet |
pass | pass |
TestBits |
pass | pass |
TestBitwise |
pass | pass |
TestBytes |
pass | pass |
TestCmp |
pass | pass |
TestCmpAbs |
pass | pass |
TestDecimalInit |
pass | pass |
TestDecimalRounding |
pass | pass |
TestDecimalString |
pass | pass |
TestDenomRace |
pass | pass |
TestDivWW |
pass | pass |
TestDivisionSigns |
pass | pass |
TestExp |
pass | pass |
TestExpNN |
pass | pass |
TestFibo |
pass | pass |
TestFillBytes |
pass | pass |
TestFillBytes/-0xffffffff |
pass | pass |
TestFillBytes/0 |
pass | pass |
TestFillBytes/0x10000000000000000 |
pass | pass |
TestFillBytes/0xabababababababababababababababababababababababababa |
pass | pass |
TestFillBytes/0xffffffff |
pass | pass |
TestFillBytes/0xffffffffffffffff |
pass | pass |
TestFillBytes/0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff |
pass | pass |
TestFillBytes/1000 |
pass | pass |
TestFloat32Distribution |
pass | pass |
TestFloat32SpecialCases |
pass | pass |
TestFloat64 |
pass | pass |
TestFloat64Distribution |
pass | pass |
TestFloat64SpecialCases |
pass | pass |
TestFloat64Text |
pass | pass |
TestFloatAbs |
pass | pass |
TestFloatAdd |
pass | pass |
TestFloatAdd32 |
pass | pass |
TestFloatAdd64 |
pass | pass |
TestFloatAddRoundZero |
pass | pass |
TestFloatArithmeticOverflow |
pass | pass |
TestFloatArithmeticRounding |
pass | pass |
TestFloatArithmeticSpecialValues |
pass | pass |
TestFloatCmpSpecialValues |
pass | pass |
TestFloatCorruptGob |
pass | pass |
TestFloatFloat32 |
pass | pass |
TestFloatFloat64 |
pass | pass |
TestFloatFormat |
pass | pass |
TestFloatGobDecodeInvalid |
pass | pass |
TestFloatGobDecodeShortBuffer |
pass | pass |
TestFloatGobEncoding |
pass | pass |
TestFloatInc |
pass | pass |
TestFloatInt |
pass | pass |
TestFloatInt64 |
pass | pass |
TestFloatIsInt |
pass | pass |
TestFloatJSONEncoding |
pass | pass |
TestFloatMantExp |
pass | pass |
TestFloatMantExpAliasing |
pass | pass |
TestFloatMinPrec |
pass | pass |
TestFloatMul |
pass | pass |
TestFloatMul64 |
pass | pass |
TestFloatNeg |
pass | pass |
TestFloatPrec |
pass | pass |
TestFloatPredicates |
pass | pass |
TestFloatQuo |
pass | pass |
TestFloatQuoSmoke |
pass | pass |
TestFloatRat |
pass | pass |
TestFloatRound |
pass | pass |
TestFloatRound24 |
pass | pass |
TestFloatScan |
pass | pass |
TestFloatSetFloat64 |
pass | pass |
TestFloatSetFloat64String |
pass | pass |
TestFloatSetInf |
pass | pass |
TestFloatSetInt |
pass | pass |
TestFloatSetInt64 |
pass | pass |
TestFloatSetMantExp |
pass | pass |
TestFloatSetPrec |
pass | pass |
TestFloatSetRat |
pass | pass |
TestFloatSetUint64 |
pass | pass |
TestFloatSign |
pass | pass |
TestFloatSqrt |
pass | pass |
TestFloatSqrt64 |
pass | pass |
TestFloatSqrtSpecial |
pass | pass |
TestFloatString |
pass | pass |
TestFloatText |
pass | pass |
TestFloatUint64 |
pass | pass |
TestFloatZeroValue |
pass | pass |
TestFormat |
pass | pass |
TestFromBits |
pass | pass |
TestFunNN |
pass | pass |
TestFunVV |
pass | pass |
TestFunVW |
pass | pass |
TestFunVWExt |
pass | pass |
TestFunVWW |
pass | pass |
TestGcd |
pass | pass |
TestGetString |
pass | pass |
TestGobEncodingNilIntInSlice |
pass | pass |
TestGobEncodingNilRatInSlice |
pass | pass |
TestHilbert |
pass | pass |
TestInt64 |
pass | pass |
TestIntCmpSelf |
pass | pass |
TestIntGobEncoding |
pass | pass |
TestIntJSONEncoding |
pass | pass |
TestIntJSONEncodingNil |
pass | pass |
TestIntText |
pass | pass |
TestIntXMLEncoding |
pass | pass |
TestIsFinite |
pass | pass |
TestIsInt |
pass | pass |
TestIssue20490 |
pass | pass |
TestIssue22830 |
pass | pass |
TestIssue2379 |
pass | pass |
TestIssue2607 |
pass | pass |
TestIssue31084 |
pass | pass |
TestIssue31184 |
pass | pass |
TestIssue34919 |
pass | pass |
TestIssue3521 |
pass | pass |
TestIssue37499 |
pass | pass |
TestIssue42552 |
pass | pass |
TestIssue42838 |
pass | pass |
TestIssue45910 |
pass | pass |
TestIssue6866 |
pass | pass |
TestIssue820 |
pass | pass |
TestJacobi |
pass | pass |
TestJacobiPanic |
pass | pass |
TestLinkerGC |
pass | pass |
TestLsh |
pass | pass |
TestLshRsh |
pass | pass |
TestLshSelf |
pass | pass |
TestLucasPseudoprimes |
pass | pass |
TestMaxBase |
pass | pass |
TestMillerRabinPseudoprimes |
pass | pass |
TestModInverse |
pass | pass |
TestModSqrt |
pass | pass |
TestModW |
pass | pass |
TestMontgomery |
pass | pass |
TestMul |
pass | pass |
TestMulAddWWW |
pass | pass |
TestMulBits |
pass | pass |
TestMulRangeN |
pass | pass |
TestMulRangeZ |
pass | pass |
TestMulUnbalanced |
pass | fail (disclosed) |
TestMulWW |
pass | pass |
TestNLZ |
pass | pass |
TestNatDiv |
pass | pass |
TestNatSubMod2N |
pass | pass |
TestNatSubMod2N/aliasX |
pass | pass |
TestNatSubMod2N/aliasY |
pass | pass |
TestNatSubMod2N/noalias |
pass | pass |
TestNewIntAllocs |
pass | fail (disclosed) |
TestNewIntMinInt64 |
pass | pass |
TestNormBits |
pass | pass |
TestNot |
pass | pass |
TestProbablyPrime |
pass | pass |
TestProdZZ |
pass | pass |
TestQuo |
pass | pass |
TestQuoStepD6 |
pass | pass |
TestRatAbs |
pass | pass |
TestRatBin |
pass | pass |
TestRatCmp |
pass | pass |
TestRatGobDecodeShortBuffer |
pass | pass |
TestRatGobEncoding |
pass | pass |
TestRatInv |
pass | pass |
TestRatJSONEncoding |
pass | pass |
TestRatNeg |
pass | pass |
TestRatScan |
pass | pass |
TestRatSetFrac64Rat |
pass | pass |
TestRatSetInt64 |
pass | pass |
TestRatSetString |
pass | pass |
TestRatSetStringZero |
pass | pass |
TestRatSetUint64 |
pass | pass |
TestRatSign |
pass | pass |
TestRatXMLEncoding |
pass | pass |
TestRsh |
pass | pass |
TestRshSelf |
pass | pass |
TestScan |
pass | pass |
TestScanBase |
pass | pass |
TestScanExponent |
pass | pass |
TestScanPi |
pass | pass |
TestScanPiParallel |
pass | pass |
TestSet |
pass | pass |
TestSetBytes |
pass | pass |
TestSetFloat64NonFinite |
pass | pass |
TestSetString |
pass | pass |
TestSetZ |
pass | pass |
TestShiftLeft |
pass | pass |
TestShiftOverlap |
pass | pass |
TestShiftRight |
pass | pass |
TestSignZ |
pass | pass |
TestSqr |
pass | pass |
TestSqrt |
pass | pass |
TestSticky |
pass | pass |
TestString |
pass | pass |
TestStringPowers |
pass | pass |
TestSumZZ |
pass | pass |
TestTrailingZeroBits |
pass | pass |
TestUint64 |
pass | pass |
TestZeroRat |
pass | pass |
Disclosed divergences
A disclosed divergence is a specific Go assertion the managed CLR provably cannot satisfy — not
a skipped test and not a tolerance. Each one is pinned by exact failure signature in the package’s
hand-owned go2cs_test_disclosures.json;
a disclosed test that fails any other way is still a hard mismatch.
| Test | Class | Pinned reason |
|---|---|---|
TestMulUnbalanced |
alloc-profile |
allocation-byte BUDGET assert on a different meter than the AllocsPerRun rows — runtime.ReadMemStats TotalAlloc delta, which the converted runtime maps to the CLR’s own GC.GetTotalAllocatedBytes (a true byte total over every managed allocation, not golib’s object-count lower bound): nat(nil).mul of a 50,000-word by 40-word unbalanced multiply must stay within 10x the input size (~400 KB), and the converted path allocates 23,482,832 bytes (58x) — the managed temp-nat slice |
TestNewIntAllocs |
alloc-profile |
want-zero AllocsPerRun assert: every leg is x.Add(x, NewInt(k)), and Go’s escape analysis proves the NewInt(k) argument non-escaping so it lives on the stack; the managed model mints exactly ONE golib box per run for it (measured 1.0 at the B2 kind-split emission) — the one structural object the assert forbids |
Excluded declarations
Declarations filtered from both sides of the comparison, and therefore not claimed above:
Benchmark, Fuzz and Example declarations the converted host does not execute, plus any
test requiring a capability the managed runtime does not provide — a testing member the host
has not implemented, or a platform behavior it provably cannot reproduce. Each is named with
the capability it needs.
- BenchmarkAddMulVVW (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkAddVV (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkAddVW (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkAddVWext (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkBinomial (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkBitset (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkBitsetNeg (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkBitsetNegOrig (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkBitsetOrig (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkDecimalConversion (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkDiv (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkDivWVW (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkExp (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkExp2 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkExp3Power (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkExpMont (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkFibo (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkFloatAdd (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkFloatPrecExact (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkFloatPrecInexact (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkFloatPrecMixed (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkFloatSqrt (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkFloatString (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkFloatSub (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD100000x100000 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD10000x10000 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD10000x100000 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD1000x1000 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD1000x10000 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD1000x100000 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD100x100 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD100x1000 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD100x10000 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD100x100000 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD10x10 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD10x100 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD10x1000 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD10x10000 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkGCD10x100000 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkHilbert (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkIntSqr (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkLeafSize (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkModInverse (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkModSqrt225_3Mod4 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkModSqrt225_Tonelli (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkModSqrt231_5Mod8 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkModSqrt231_Tonelli (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkMul (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkMulAddVWW (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkNatMul (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkNatSetBytes (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkNatSqr (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkNonZeroShifts (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkParseFloatLargeExp (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkParseFloatSmallExp (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkProbablyPrime (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkQuoRem (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkRatCmp (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkScan (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkScanPi (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkSqrt (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkString (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkStringPiParallel (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkSubVV (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkSubVW (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkSubVWext (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkZeroShifts (benchmark): benchmark execution is deferred to Phase 4D
- ExampleFloat_Add (example): example execution is deferred to Phase 4D
- ExampleFloat_Cmp (example): example execution is deferred to Phase 4D
- ExampleFloat_Copy (example): example execution is deferred to Phase 4D
- ExampleFloat_Scan (example): example execution is deferred to Phase 4D
- ExampleFloat_SetString (example): example execution is deferred to Phase 4D
- ExampleFloat_shift (example): example execution is deferred to Phase 4D
- ExampleInt_Scan (example): example execution is deferred to Phase 4D
- ExampleInt_SetString (example): example execution is deferred to Phase 4D
- ExampleRat_Scan (example): example execution is deferred to Phase 4D
- ExampleRat_SetString (example): example execution is deferred to Phase 4D
- ExampleRoundingMode (example): example execution is deferred to Phase 4D
- Example_eConvergents (example): example execution is deferred to Phase 4D
- Example_fibonacci (example): example execution is deferred to Phase 4D
- Example_sqrt2 (example): example execution is deferred to Phase 4D
- FuzzExpMont (fuzz): fuzz execution is deferred to Phase 4D
- TestCalibrate (test): requires unsupported testing capabilities: B.ResetTimer
Gated by a host capability
A gate names a declaration the converted test host provably cannot run at all — not an
assertion it fails. It is filtered from both sides of the comparison, and because the gate
keys on the DECLARATION, every verdict row go test reports underneath it is withdrawn with
it. None of the rows below is claimed by the matched count above; they are named here so this
page states exactly what the row leaves out.
TestCalibrate — B.ResetTimer
1 verdict row go test reports and this comparison does not claim:
TestCalibrate