Spaces:
Runtime error
Runtime error
codellama-CodeLlama-7b-hf
/
Llama2-Code-Interpreter-main
/OpenCodeInterpreter
/evaluation
/evalplus
/tools
/humaneval
/fix_v014.py
import math | |
def check_id(data, task_id): | |
assert data[task_id]["task_id"] == f"HumanEval/{task_id}" | |
def poly(xs, x): | |
return sum([coeff * math.pow(x, i) for i, coeff in enumerate(xs)]) | |
def check_valid(xs): | |
if not (isinstance(xs, list) and len(xs) > 0 and len(xs) % 2 == 0): | |
return False | |
if not all(type(x) == int for x in xs): | |
return False | |
dxs = [xs[i] * i for i in range(1, len(xs))] | |
def func(x): | |
return poly(xs, x) | |
def derivative(x): | |
return poly(dxs, x) | |
x, tol = 0, 1e-5 | |
for _ in range(1000): | |
fx = func(x) | |
dfx = derivative(x) | |
if abs(fx) < tol: | |
break | |
x = x - fx / dfx | |
if abs(poly(xs, x)) >= tol: | |
return False | |
return True | |
def fix(data): | |
check_id(data, 32) | |
data[32]["contract"] = ( | |
'\n assert isinstance(xs, list) and len(xs) > 0 and len(xs) % 2 == 0, "invalid inputs" # $_CONTRACT_$' | |
+ '\n assert all(type(x) == int for x in xs), "invalid inputs" # $_CONTRACT_$' | |
+ "\n dxs = [xs[i] * i for i in range(1, len(xs))] # $_CONTRACT_$" | |
+ "\n def func(x): # $_CONTRACT_$" | |
+ "\n return poly(xs, x) # $_CONTRACT_$" | |
+ "\n def derivative(x): # $_CONTRACT_$" | |
+ "\n return poly(dxs, x) # $_CONTRACT_$" | |
+ "\n x, tol = 0, 1e-5 # $_CONTRACT_$" | |
+ "\n for _ in range(1000): # $_CONTRACT_$" | |
+ "\n fx = func(x) # $_CONTRACT_$" | |
+ "\n dfx = derivative(x) # $_CONTRACT_$" | |
+ "\n if abs(fx) < tol: break # $_CONTRACT_$" | |
+ "\n x = x - fx / dfx # $_CONTRACT_$" | |
+ '\n assert abs(poly(xs, x)) < tol, "invalid inputs" # $_CONTRACT_$\n' | |
) | |
data[32]["plus_input"] = [l for l in data[32]["plus_input"] if check_valid(l[0])] | |
return data | |
if __name__ == "__main__": | |
import json | |
with open("HumanEvalPlus-v0.1.4.jsonl") as f: | |
data = [json.loads(line) for line in f.readlines() if line] | |
data = fix(data) | |
with open("HumanEvalPlus-v0.1.5.jsonl", "wb") as f: | |
for x in data: | |
f.write((json.dumps(x) + "\n").encode("utf-8")) | |
with open("HumanEvalPlus-Mini-v0.1.4.jsonl") as f: | |
data = [json.loads(line) for line in f.readlines() if line] | |
data = fix(data) | |
with open("HumanEvalPlus-Mini-v0.1.5.jsonl", "wb") as f: | |
for x in data: | |
f.write((json.dumps(x) + "\n").encode("utf-8")) | |