#!/usr/bin/env python3 """Compare Player travel wrapper and flying speed with vanilla.""" import argparse import json import os from pathlib import Path import platform import subprocess import random import struct import math try: from . import lab, test_rust_parity as base except ImportError: import lab import test_rust_parity as base def corpus(): def bits(v):return struct.pack('>d',float(v)).hex() def single(v):return struct.pack('>f',float(v)).hex() def row(**kw): f=dict(mode='travel',input=[.2,0,.8],velocity=[.1,-.08,.2],position=[.3,64,-.3],look=[0,.5,1],after_velocity=[17,18,19],after_position=[17,-64,-33],after_flying=False,base_velocity=[31,32,33],base_flying=False,base_mutate=True,passenger=False,swimming=True,jumping=False,empty=False,flying=True,sprint=False,speed=.05,fail=-1,mutate_at=-1) f.update(kw) for k in ['input','velocity','position','look','after_velocity','after_position','base_velocity']:f[k]=[bits(v) for v in f[k]] f['speed']=single(f['speed']);return f vals=[-float('inf'),-1e30,-1,-.20000000001,-.2,-.19999999999,-1e-40,-0.0,0,1e-40,.1,.5,1,1e30,float('inf'),float('nan')] for y in vals: for mask in range(128): flags={k:bool(mask&(1<