<commit_before>#!/usr/bin/env python
""" A series of classes that specify various step size functions"""

import math

class PowerSteps(object):
    """Generate a sequence of steps with a power law

    A sequence of steps which consisting of points spaced by a
    power law which contain a number of linear steps between each jump.

    Args:
        num_linear (int): The number of linear steps between each jump in power.
            The distance between these steps is going to increase as the gap
            between powers become larger. In the case when there num_linear is
            greater than the number of steps between powers every step is
            returned.
        pow_jump (int): The jumps in powers of 10
<commit_msg>Create generator function for steps<commit_after>#!/usr/bin/env python
""" A series of classes that specify various step size functions"""

import math

def generate_steps(num_linear=99, start=0):
    """Generate a sequence of steps"""
    curr_step = start
    step_size = 1
    lin_steps = 0
    while True:
        while lin_steps < num_linear:
            curr_step += step_size
            lin_steps += 1
            yield curr_step
        step_size *= 10


class PowerSteps(object):
    """Generate a sequence of steps with a power law

    A sequence of steps which consisting of points spaced by a
    power law which contain a number of linear steps between each jump.

    Args:
        num_linear (int): The number of linear steps between each jump in power.
            The distance between these steps is going to increase as the gap
            between powers become larger. In the case when there num_linear is
            greater than the number of steps between powers every step is
            returned.
        pow_jump (int): The jumps in powers of 10

{'fraction_non_alphanumeric': 0.04743519029233315, 'fraction_numerical': 0.006618863761720904, 'mean_word_length': 2.592079207920792, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5949446', 'n_tokens_mistral': 454, 'n_tokens_neox': 433, 'n_words': 239}