Skip to content

Commit

Permalink
lint
Browse files Browse the repository at this point in the history
  • Loading branch information
andreaskoepf committed Jan 31, 2025
1 parent 4ac41bd commit b49167c
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 27 deletions.
14 changes: 6 additions & 8 deletions reasoning_gym/algorithmic/base_conversion.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,33 +61,31 @@ def __getitem__(self, idx: int) -> dict:

# Convert decimal to source base representation
if source_base == 16:
source_repr = format(value, 'x')
source_repr = format(value, "x")
elif source_base == 2:
source_repr = format(value, 'b')
source_repr = format(value, "b")
else:
# Manual conversion for other bases
n = value
digits = []
while n:
digits.append(int(n % source_base))
n //= source_base
source_repr = ''.join(str(d) if d < 10 else chr(ord('a') + d - 10)
for d in reversed(digits) or [0])
source_repr = "".join(str(d) if d < 10 else chr(ord("a") + d - 10) for d in reversed(digits) or [0])

# Convert decimal to target base for answer
if target_base == 16:
target_repr = format(value, 'x')
target_repr = format(value, "x")
elif target_base == 2:
target_repr = format(value, 'b')
target_repr = format(value, "b")
else:
# Manual conversion for other bases
n = value
digits = []
while n:
digits.append(int(n % target_base))
n //= target_base
target_repr = ''.join(str(d) if d < 10 else chr(ord('a') + d - 10)
for d in reversed(digits) or [0])
target_repr = "".join(str(d) if d < 10 else chr(ord("a") + d - 10) for d in reversed(digits) or [0])

source_name = self._format_base_name(source_base)
target_name = self._format_base_name(target_base)
Expand Down
30 changes: 11 additions & 19 deletions tests/test_base_conversion.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,21 +65,20 @@ def test_base_conversion_dataset_items():
# Verify conversion correctness
decimal_value = item["metadata"]["decimal_value"]
target_base = item["metadata"]["target_base"]

# Use same conversion logic as implementation
if target_base == 16:
expected = format(decimal_value, 'x')
expected = format(decimal_value, "x")
elif target_base == 2:
expected = format(decimal_value, 'b')
expected = format(decimal_value, "b")
else:
# Manual conversion for other bases
n = decimal_value
digits = []
while n:
digits.append(int(n % target_base))
n //= target_base
expected = ''.join(str(d) if d < 10 else chr(ord('a') + d - 10)
for d in reversed(digits) or [0])
expected = "".join(str(d) if d < 10 else chr(ord("a") + d - 10) for d in reversed(digits) or [0])
assert item["answer"] == expected


Expand All @@ -97,14 +96,7 @@ def test_base_conversion_dataset_iteration():

def test_base_conversion_validity():
"""Test that generated numbers are valid for their bases"""
config = BaseConversionConfig(
min_base=2,
max_base=36,
min_value=0,
max_value=1000,
size=100,
seed=42
)
config = BaseConversionConfig(min_base=2, max_base=36, min_value=0, max_value=1000, size=100, seed=42)
dataset = BaseConversionDataset(config)

def is_valid_for_base(num_str: str, base: int) -> bool:
Expand All @@ -113,12 +105,12 @@ def is_valid_for_base(num_str: str, base: int) -> bool:

for i in range(len(dataset)):
item = dataset[i]
assert is_valid_for_base(item["metadata"]["source_repr"],
item["metadata"]["source_base"]), \
f"Invalid source number {item['metadata']['source_repr']} for base {item['metadata']['source_base']}"
assert is_valid_for_base(item["metadata"]["target_repr"],
item["metadata"]["target_base"]), \
f"Invalid target number {item['metadata']['target_repr']} for base {item['metadata']['target_base']}"
assert is_valid_for_base(
item["metadata"]["source_repr"], item["metadata"]["source_base"]
), f"Invalid source number {item['metadata']['source_repr']} for base {item['metadata']['source_base']}"
assert is_valid_for_base(
item["metadata"]["target_repr"], item["metadata"]["target_base"]
), f"Invalid target number {item['metadata']['target_repr']} for base {item['metadata']['target_base']}"


def test_base_conversion_special_bases():
Expand Down

0 comments on commit b49167c

Please sign in to comment.