示例#1
0
def generate_examples(*args, **kwargs):
    kwargs.update({
        "num_examples": kwargs.get("num_examples", 10),
        "timeout": kwargs.get("timeout", 10),
        "min_bound": kwargs.get("min_bound", 0),
        "max_bound": kwargs.get("max_bound", 10),
        "min_variance": kwargs.get("min_variance", 0.0),
        "maxv": kwargs.get("maxv", 10),
        "max_io_len": kwargs.get("max_io_len", 10),
    })
    language = get_extended_dsl(kwargs["max_bound"])
    return generate_interesting(language, *args, **kwargs)
示例#2
0
def generate_examples(*args, **kwargs):
    """
    Run IO generation with defaults set by CLI arguments.
    """
    cli_args = kwargs.pop("cli_args")
    kwargs.update(
        {
            "num_examples": kwargs.get("num_examples", cli_args.num_examples),
            "timeout": kwargs.get("timeout", cli_args.timeout),
            "min_bound": kwargs.get("min_bound", cli_args.min_bound),
            "max_bound": kwargs.get("max_bound", cli_args.max_bound),
            "min_variance": kwargs.get("min_variance", cli_args.min_variance),
            "maxv": kwargs.get("maxv", cli_args.maxv),
            "max_io_len": kwargs.get("max_io_len", cli_args.max_io_len),
        }
    )
    language = kwargs.get("language", cli_args.language(kwargs))
    return generate_interesting(language, *args, **kwargs)
示例#3
0
 def test_linq_sum_top_index_sorted(self):
     max_bound = 512
     min_bound = None
     language, _ = get_linq_dsl(max_bound=max_bound, min_bound=min_bound)
     source = "a <- int | b <- [int] | c <- SORT b | d <- TAKE a c | e <- SUM d"
     d = generate_interesting(
         language,
         source,
         num_examples=10,
         timeout=10,
         min_bound=min_bound,
         max_bound=max_bound,
         min_variance=3.5,
         maxv=10,
         max_io_len=10,
     )
     program = d["program"]
     verify_types(d["io_pairs"], sig=([int, [int]], int))
     test_io(program, ((2, [3, 5, 4, 7, 5]), 7))
     self.assertEqual(program.bounds, [(0, 10), (-50, 51)])