)EjdZddlTddlmZddlZddlZdZdZdZd Z dd Z d Z e dkrej de dSdS)z*Benchmark the qu2cu algorithm performance.)*)curve_to_quadraticNg?c dtdd|zzD}g}t|D]5}|t||dz|dzdz6|S)NcZg|](}tdtdD)S)c3ZK|]&}ttjddV'dS)riN)floatrandomrandint).0coords KC:\PYTHON\MyICR_Suite\python\Lib\site-packages\fontTools/qu2cu/benchmark.py z-generate_curves...s6 C CeFN1d++,, C C C C C C)tuplerange)r points r z#generate_curves.. sE   C C%(( C C CCCrr)rappendr)npointscurvesis rgenerate_curvesr s1q1u9%%FF 1XX88 eF1q51q519#45667777 MrcTtt}d|D}|tfS)Nc8g|]}t|tS)rMAX_ERR)r curves rrz-setup_quadratic_to_curves..s#III$UG44IIIr)r NUM_CURVESr")r quadraticss rsetup_quadratic_to_curvesr&s- Z ( (FII&IIIJ w rcd|z}|r t|d|dd|d|zz }ntd|zdd}tj||||| }td t|d z|z zdS) Nsetup_z with :r')end_z%s:cfttfd}|S)NcS)Nr!)function setup_funcsrwrappedz/run_benchmark..wrapper..wrapped)s8ZZ\\* *r)globals)r0r1r2s`` rwrapperzrun_benchmark..wrapper%sE99X&YYz*  + + + + + +r)repeatnumberz %5.1fusg.A)printtimeitr5min)moduler0 setup_suffixr5r6r1r4resultss r run_benchmarkr=sH$J( xxx6B????cL((  ehB''''mGGHj99&QWXXXG +W 1F: ;<<<<rGs00......    ====*222 zFKNNNDFFFFFr