L ixdZddlddlmZddlZddlZdZdZdZd Z d d Z d Z e d k(rejde yy)z*Benchmark the qu2cu algorithm performance.)*)curve_to_quadraticNg?c tdd|zzDcgc]}tdtdD}}g}t|D](}|jt||dz|dzdz*|Scc}w)Nrc3ZK|]#}ttjdd%yw)riN)floatrandomrandint).0coords _/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/fontTools/qu2cu/benchmark.py z"generate_curves..s CeFNN1d+, Cs)+)rangetupleappend)npointpointscurvesis rgenerate_curvesr s1q1u9%   C%( CCFF 1X8 eF1q51q5195678 Ms"A2cttt}|Dcgc]}t|t}}|tfScc}wN)r NUM_CURVESrMAX_ERR)rcurve quadraticss rsetup_quadratic_to_curvesr"s8 Z (FBHI$UG4IJI w Js5cd|z}|rt|d|dd|d|zz }ntd|zdd}tj||||| }td t|d z|z zy) Nsetup_z with :)end_z%s:cJttfd}|S)NcSr)function setup_funcsrwrappedz/run_benchmark..wrapper..wrapped)sZ\* *)globals)r,r-r.s`` rwrapperzrun_benchmark..wrapper%s'9X&Yz*  +r/)repeatnumberz %5.1fusg.A)printtimeitr2min)moduler, setup_suffixr2r3r-r1resultss r run_benchmarkr:sxH$J x6B?cL((  ehB'mmGHj9&QWXG +W 1F: ;2s '01r/__main__)r&r)__doc__r<fontTools.cu2qurr r5rrrr"r:r>__name__seedr+r/rrEsS0.    =*2 zFKKNFr/