implement decimal precision

This commit is contained in:
Rich Jones 2025-02-19 12:30:07 +01:00
parent 59229bd2d2
commit 17ba950c1a
2 changed files with 144 additions and 81 deletions

View file

@ -8,7 +8,7 @@ def test_decimal_arithmetic():
# Easy
config = DecimalArithmeticDatasetConfig(
seed=42, size=999000, min_num_decimal_places=3, max_num_decimal_places=13, terms=13
seed=42, size=2000, min_num_decimal_places=3, max_num_decimal_places=3, precision=5, terms=3
)
dataset = DecimalArithmeticDataset(config)
@ -18,31 +18,33 @@ def test_decimal_arithmetic():
assert "answer" in item
assert "metadata" in item
print(item["answer"])
# Test the scoring
assert dataset.score_answer(answer=item["answer"], entry=item) == 1.0
# # M
# config = DecimalArithmeticDatasetConfig(seed=42, size=2000, num_decimal_places=8)
# dataset = DecimalArithmeticDataset(config)
# M
config = DecimalArithmeticDatasetConfig(
seed=42, size=2000, min_num_decimal_places=3, max_num_decimal_places=6, precision=8, terms=6
)
dataset = DecimalArithmeticDataset(config)
# for item in dataset:
# assert isinstance(item, dict)
# assert "question" in item
# assert "answer" in item
# assert "metadata" in item
for item in dataset:
assert isinstance(item, dict)
assert "question" in item
assert "answer" in item
assert "metadata" in item
# assert dataset.score_answer(answer=item["answer"], entry=item) == 1.0
assert dataset.score_answer(answer=item["answer"], entry=item) == 1.0
# # H
# config = DecimalArithmeticDatasetConfig(seed=42, size=2000, num_decimal_places=15)
# dataset = DecimalArithmeticDataset(config)
# H
config = DecimalArithmeticDatasetConfig(
seed=42, size=2000, min_num_decimal_places=3, max_num_decimal_places=13, precision=15, terms=10
)
dataset = DecimalArithmeticDataset(config)
# for item in dataset:
# assert isinstance(item, dict)
# assert "question" in item
# assert "answer" in item
# assert "metadata" in item
for item in dataset:
assert isinstance(item, dict)
assert "question" in item
assert "answer" in item
assert "metadata" in item
# assert dataset.score_answer(answer=item["answer"], entry=item) == 1.0
assert dataset.score_answer(answer=item["answer"], entry=item) == 1.0