Round #870
11 May 2026, 09:53· csharp· Meta-Llama-3.3-70B-Instruct· r15-firing-v3
- Complexity
- band 0
- ZP / UO / OBS
- 3 / 0 / 6
- Journey weight
- 615
- Lightshift ΔL
- —
Prompt
Implement a record type 'Money' with Amount (decimal) and Currency (string). Override ToString to print '€100.00 EUR'-style and show value equality with two instances.
Zero-point index (what the engine surfaced)
ZPI-ZPI-0002 | 2026-05-11T09:53:37Z
Implement a record type 'Money' with Amount (decimal) and Currency (string). Override ToString to print '€100.00 EUR'-style and show value equality with two instances.
ZERO POINT — 3 entries (structural invariants)
● hsl(7.18, 100%, 50%) class [feature]
● hsl(0.00, 100%, 50%) public [feature]
● hsl(84.10, 100%, 50%) namespace [feature]
UNOBSERVED — 0 entries (implied truths)
OBSERVED — 6 entries (explicit in request)
◉ hsl(12.31, 100%, 15%) record [feature]
◉ hsl(24.62, 100%, 26%) override [feature]
◉ hsl(92.31, 100%, 15%) value [feature]
◉ hsl(98.46, 100%, 50%) with [feature]
◉ hsl(124.10, 100%, 15%) decimal [feature]
◉ hsl(133.33, 100%, 15%) string [feature]
COMPLEXITY │ 9 entries │ spread: 121° │ band: LOW
Baseline response (no ZPI)
```csharp
using System;
public class Money
{
public decimal Amount { get; }
public string Currency { get; }
public Money(decimal amount, string currency)
{
Amount = amount;
Currency = currency;
}
public override string ToString()
{
return $"{Amount:F2} {Currency}";
}
public override bool Equals(object obj)
{
if (obj is Money other)
{
return Amount == other.Amount && Currency == other.Currency;
}
return false;
}
public override int GetHashCode()
{
unchecked
{
return (Amount.GetHashCode() * 397) ^ Currency.GetHashCode();
}
}
}
class Program
{
static void Main(string[] args)
{
var money1 = new Money(100, "EUR");
var money2 = new Money(100, "EUR");
Console.WriteLine(money1); // Output: 100.00 EUR
Console.WriteLine(money1.Equals(money2)); // Output: True
}
}
```
Enhanced response (with ZPI)
```csharp
public record Money(decimal Amount, string Currency)
{
public override string ToString()
{
return $"{Amount:F2} {Currency}";
}
public override bool Equals(object? obj)
{
if (obj is Money money)
{
return Amount == money.Amount && Currency == money.Currency;
}
return false;
}
public override int GetHashCode()
{
return HashCode.Combine(Amount, Currency);
}
}
public class Program
{
public static void Main()
{
var money1 = new Money(100, "EUR");
var money2 = new Money(100, "EUR");
var money3 = new Money(100, "USD");
Console.WriteLine(money1); // Outputs: 100.00 EUR
Console.WriteLine(money1.Equals(money2)); // Outputs: True
Console.WriteLine(money1.Equals(money3)); // Outputs: False
}
}
```
This implementation provides a `Money` record type with `Amount` and `Currency` properties, overriding `ToString` to print the amount and currency in the desired format. The `Equals` method is also overridden to compare two `Money` instances based on their amount and currency, and `GetHashCode` is implemented to ensure correct behavior when using `Money` instances in hash-based collections. The `Main` method demonstrates the usage of the `Money` record type and its overridden methods.
Grader chain
Each grader reads the same baseline + enhanced pair and casts an independent verdict. Disagreement is the framework's own signal — not noise to be averaged away.
V1samba/Meta-Llama-3.3-70B-Instruct
BetterV4qwen2.5-coder-3b-instruct
BetterV5openrouter/qwen/qwen3-235b-a22b-2507
BetterV7qwen2.5-coder-7b-instruct
BetterV8openai/gpt-4.1
BetterV9anthropic/claude-opus-4-7
BetterV12openai/gpt-4o
BetterComments
Our grader said what it said. What do you say? Comment as a guest below.
No comments yet. Be the first to say what you make of this round.