Mercurial > repos > iuc > ipfp_normalisation
changeset 0:8b5e4ea144a5 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ipfp_normalisation commit 1facbf5b9d74f0f7cd1f9346acb405a2e327c639
author | iuc |
---|---|
date | Tue, 04 Feb 2025 09:11:16 +0000 |
parents | |
children | |
files | ipfp_normalisation.py ipfp_normalisation.xml test-data/bad-input/input.tsv test-data/medium-input/input.tsv test-data/medium-input/output.tsv test-data/nan-input/input.tsv test-data/nan-input/output.tsv test-data/skip-headers/input.tsv test-data/skip-headers/output.tsv test-data/small-input/input.tsv test-data/small-input/output.tsv |
diffstat | 11 files changed, 596 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ipfp_normalisation.py Tue Feb 04 09:11:16 2025 +0000 @@ -0,0 +1,93 @@ +#!/usr/bin/env python +""" +IPFP Normalisation +""" +import argparse +import sys + +import numpy as np + + +def throw_error(msg, exit_code=1): + sys.stderr.write(msg) + sys.exit(exit_code) + + +def ipfp(data, precision=1e-5, maxIterations=50): + """ + Return the normalized version of the input data (matrix) as an ndarray + :param data: np.ndArray + :param precision: float combined allowed deviation (residual error) of col and row means from TARGET (=1) + :param maxIterations: int maximum amount of iterations (1x row and 1x col per iteration) + :return normalizedData: np.ndArray normalized data + """ + try: + assert isinstance(data, np.ndarray) and data.dtype in ['float64', 'int64'] + assert precision > 0 + assert isinstance(maxIterations, int) and maxIterations > 0 + except AssertionError: + throw_error("Invalid input parameters. Please check that the input data consists of floats or integers, precision > 0 and maxIterations is a positive integer.") + # replace zeros with nan + if (data < 0).any(): + throw_error("Negative values detected, only use positive values.") + + zeros = (data == 0) + if zeros.any(): + print("Zero values detected; replacing with NA.") + data = data.astype(float) + data[zeros] = np.nan + + # initialize variables + Nrows, Ncols = data.shape + convergenceTrail = np.asarray([np.nan] * (2 * maxIterations)) + convergence = np.inf + normalized_data = data + TARGET = 1 + + i = 0 # number of current iteration + # without reshaping the ndarrays, they have shape (x,) (no second value) and the procedure fails. + # main loop; iterates until convergence is reached (i.e., L1-norm below variable <h>) or the maximum number of + # iteration cycles is surpassed. + while convergence > precision and i < maxIterations: + # fit the rows + Ri = TARGET * np.asarray(1 / np.nanmean(normalized_data, 1)).reshape(Nrows,) + normalized_data = (normalized_data.T * Ri).T + + # calculate deviation from column marginals; row deviation is zero at even indices. (index start = 0) + convergenceTrail[2 * i] = Nrows * 0.5 * np.nansum(np.abs(np.nanmean(normalized_data, 0) - TARGET)) + + # fit the columns + Si = TARGET * np.asarray(1 / np.nanmean(normalized_data, 0)).reshape(Ncols,) + normalized_data *= Si + # calculate deviation from row marginals; column deviation is zero at odd indices. (index start = 0) + convergenceTrail[2 * i + 1] = Ncols * 0.5 * np.nansum(np.abs(np.nanmean(normalized_data, 1) - TARGET)) + + convergence = convergenceTrail[2 * i + 1] + i += 1 + + if i == maxIterations: + throw_error(f"Max number of IPFP iterations ({maxIterations}) reached. Attained precision: {convergence}.") + + return normalized_data + + +def main(): + parser = argparse.ArgumentParser(description="IPFP Normalisation") + parser.add_argument('-i', '--input', help="Input file", required=True, metavar="FILE") + parser.add_argument('-p', '--precision', help="Precision", default=1e-5, type=float) + parser.add_argument('-m', '--maxIterations', help="Max iterations", default=50, type=int) + parser.add_argument('-s', '--skipHeaders', help="Skip headers, skips the first n lines", default=0, type=int) + + args = parser.parse_args() + + try: + data = np.genfromtxt(args.input, skip_header=args.skipHeaders, filling_values=np.nan, delimiter='\t') + normalized_data = ipfp(data, args.precision, args.maxIterations) + np.savetxt("output.tsv", normalized_data, delimiter='\t') + + except Exception as e: + throw_error(str(e)) + + +if __name__ == "__main__": + main()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ipfp_normalisation.xml Tue Feb 04 09:11:16 2025 +0000 @@ -0,0 +1,92 @@ +<tool id="ipfp_norm" name="IPFP Normalisation" version="0.1.0+galaxy0" profile="21.05"> + <requirements> + <requirement type="package" version="2.2.2">numpy</requirement> + </requirements> + <command detect_errors="exit_code"><![CDATA[ + python '${__tool_directory__}/ipfp_normalisation.py' + --input '$input' + + #if $precision: + --precision $precision + #end if + + #if $maxIterations: + --maxIterations $maxIterations + #end if + + #if $skipHeaders: + --skipHeaders $skipHeaders + #end if + + ]]></command> + <inputs> + <param argument="--input" type="data" format="tsv" label="input" help="Input file"/> + <param argument="--precision" type="float" value="1e-05" optional="true" label="precision" help="Precision"/> + <param argument="--maxIterations" type="integer" value="50" optional="true" label="maxIterations" help="Max iterations"/> + <param argument="--skipHeaders" type="integer" value="0" optional="true" label="skipHeaders" help="Skips the first n lines to skip headers"/> + </inputs> + <outputs> + <data name="output" from_work_dir="output.tsv" format="tsv" /> + </outputs> + <tests> + <test> + <param name="input" value="small-input/input.tsv"/> + <output name="output" file="small-input/output.tsv" /> + </test> + <test> + <param name="input" value="medium-input/input.tsv"/> + <param name="precision" value="1e-08"/> + <param name="maxIterations" value="100"/> + <output name="output" file="medium-input/output.tsv" /> + </test> + <!-- Skip headers --> + <test> + <param name="input" value="skip-headers/input.tsv"/> + <param name="skipHeaders" value="1"/> + <output name="output" file="skip-headers/output.tsv" /> + </test> + <!-- Unrealistic precision for the amount of iterations --> + <test expect_failure="true"> + <param name="input" value="small-input/input.tsv"/> + <param name="precision" value="1e-20"/> + <param name="maxIterations" value="20"/> + </test> + <!-- Invalid precision --> + <test expect_failure="true"> + <param name="input" value="small-input/input.tsv"/> + <param name="precision" value="-0.1"/> + </test> + <!-- Invalid maxIterations --> + <test expect_failure="true"> + <param name="input" value="small-input/input.tsv"/> + <param name="maxIterations" value="-1"/> + </test> + <!-- Negative number in input --> + <test expect_failure="true"> + <param name="input" value="bad-input/input.tsv"/> + </test> + </tests> + <help><![CDATA[ + This tool normalises a matrix using the Iterative Proportional Fitting Procedure (IPFP). + + The tool takes a matrix consisting of only positive floating point numbers/integers as input and returns the normalized matrix. + + The tool requires a tsv file as input. + + Example input: + input.tsv: + ``` + col1 col2 col3 + 1.321 3.1023 0.9324 + 0.0239 1.1045 0.8301 + 0.1234 0.4312 1.2345 + ... ... ... + ``` + precision: 1e-05 + maxIterations: 50 + skipHeaders: 1 (skips the first line, which are the headers) + ]]></help> + <citations> + <citation type="doi">10.1016/j.jmb.2021.166966</citation> + </citations> +</tool> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bad-input/input.tsv Tue Feb 04 09:11:16 2025 +0000 @@ -0,0 +1,30 @@ +4.231400670701204181e-01 6.972447935264126651e-01 1.168054985456667971e-02 +9.560556187078717016e-01 2.704180857650853032e-01 8.541409196649117908e-01 +4.276850068211504041e-01 1.551188174921825924e-01 7.564537460025996252e-01 +2.056109152934415540e-01 3.914207894942801635e-01 1.753352755596826462e-01 +3.000182557735093791e-01 8.889017433960088033e-01 6.655057545851970069e-01 +9.206693992696912687e-02 9.063987221561853325e-01 7.834031964516821045e-01 +9.020067834652161221e-01 4.038305132455564106e-01 8.041233683026974832e-01 +2.609992689923649190e-01 2.290773132661515499e-01 6.407978862117292840e-01 +4.302979163567077769e-01 5.189164739152933858e-01 7.282046345415423838e-01 +3.727612357259043607e-01 5.382837810102580889e-01 6.259649541607605894e-01 +4.096371524566553290e-01 1.638901913879453609e-01 1.678342163833023148e-01 +2.186558515622157861e-01 5.622065063130399221e-01 2.998133176366933883e-01 +4.992189737025926055e-01 1.039042287249525298e-01 9.419866770406133405e-01 +9.458437407968390831e-01 1.128206041554240535e-01 5.962479756357473848e-01 +4.683732310273942545e-01 7.463684803475290064e-01 6.812850751802099758e-01 +1.433214923169910948e-01 3.374908339553078784e-01 6.092897069787208686e-01 +1.685995744922146322e-01 6.905776573689135223e-01 6.877749185223458461e-01 +2.993897822998040636e-01 -5.909985106906043839e-01 5.678634836964767674e-01 +1.508555881146554922e-01 5.982598790549433776e-01 6.545109450209030122e-02 +1.724739676503597163e-01 5.409229376781971022e-01 2.472459999727213420e-01 +6.565667028105197645e-01 9.583626457707581370e-01 3.649899950922246283e-01 +7.426180877158538030e-01 5.220924947800742455e-01 8.818388121134798086e-01 +6.653679005411207159e-01 2.235211047762991621e-01 4.914949879570088553e-01 +5.351554433048275605e-01 7.170776681718373791e-01 5.641381280847517221e-01 +7.644886789172464781e-01 3.440158136066440164e-01 8.953187419474518682e-01 +4.427103390772796354e-01 6.924506590460971500e-01 8.952268703526516935e-01 +6.967418840845805983e-01 1.774238958422759138e-01 5.270121234373810193e-01 +6.721491722408921010e-01 6.784908515221647063e-01 3.976999198521171675e-01 +1.994366196124827129e-01 1.813519271551978784e-01 1.178064990376457288e-01 +1.413991789112177822e-01 6.509831022834017267e-01 3.659049634212959701e-01
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/medium-input/input.tsv Tue Feb 04 09:11:16 2025 +0000 @@ -0,0 +1,100 @@ +3.343700618917367917e-01 8.113348791340055932e-01 9.345150879039353375e-01 4.631524747223738636e-01 4.559074706322996384e-01 5.651309695259111310e-01 1.006509013324173862e-01 6.183280400096939911e-01 +2.840224951840697454e-02 6.495163751599265511e-01 2.667911093729345984e-01 1.688766549977808173e-01 8.959321557823139992e-01 1.369415168581555875e-02 1.150731843933257004e-01 7.449517065988375819e-02 +1.893110610011201622e-01 2.268458093985152857e-01 9.566378385053464495e-01 3.125787615331199198e-01 6.045202254943559117e-01 1.587658534060683024e-01 1.718142272565961193e-01 4.335154061518481372e-01 +3.188862074647927924e-01 1.014872792129646317e-01 4.043746563899469626e-01 3.150486559430504263e-01 6.622220388770286847e-01 3.940896971263271320e-01 4.633477685497432441e-01 2.695439339616032548e-01 +7.071370251495914250e-01 4.301354284155756158e-01 6.750619086514173528e-01 2.747811493103958780e-01 8.709149101035507101e-01 5.585368933615653120e-02 2.743252346986793100e-01 3.016594156033429730e-01 +5.005837049781598491e-01 5.462954387309216786e-01 7.516783977439851494e-01 1.324633007036241095e-01 9.289819345707504006e-01 3.534313775097246424e-01 4.602889474419541438e-01 4.545629242818731708e-01 +1.258110679610995319e-01 4.581942839037613791e-01 7.523472800363929514e-01 2.111935437062333332e-01 1.540382489436882274e-01 7.921860058410963301e-01 5.555452665314806193e-01 6.384517949079855370e-01 +1.755416631894793911e-01 3.261290994365343421e-01 3.835518676513118841e-01 2.773921029581160047e-01 8.927452496068867260e-01 9.057542523101028697e-01 1.671517094152319416e-01 2.504196322891775184e-01 +3.962374164084294659e-01 2.445993819732316110e-01 5.475670530497998012e-01 9.246741164639236121e-01 9.972954793601848111e-01 8.335268548699987790e-01 9.685095036587307860e-01 6.718465150569260524e-01 +9.803885183924415658e-01 8.375791121671780637e-01 2.479780960360304931e-01 5.293980936286754035e-01 9.705117414234214479e-01 3.260472750923861796e-01 1.897340336454566012e-01 5.948983198551088813e-01 +8.611426833603827991e-01 4.379383356182871001e-01 2.597861793819314924e-01 5.879481045673178308e-01 1.365743328739197349e-01 3.544916568652690669e-01 3.680720503912880970e-01 6.238179402621197855e-01 +3.035836470702233392e-01 3.072076526608145119e-01 3.687127308364197553e-01 4.694412497640514381e-01 1.368097889036723469e-01 7.203408251872872592e-01 2.821815470815602911e-01 2.826033285708382525e-01 +8.449200063853256060e-01 4.193997225953487451e-01 3.282715064460068888e-01 2.098517960240458002e-01 6.657496802997959762e-01 9.494080889796319145e-02 2.287291528467416679e-01 6.601137326597610322e-01 +1.905387569387113622e-01 6.670296503291905932e-02 2.388918644151492021e-01 1.722177512219514872e-01 8.523123629106557075e-01 2.509518521512010825e-01 6.993084523949782971e-01 8.075273702241070328e-01 +8.166600964763814918e-02 7.348046023988898945e-01 4.856107230166277766e-01 2.973264687640833071e-01 9.188574859155721475e-01 4.589336431832591323e-01 4.011048326712484124e-01 3.721427122445182256e-01 +8.733966037960161355e-01 3.421158356725385596e-01 4.493426809554413870e-01 2.480858684274711567e-02 3.182582970882958939e-01 3.329015209730606939e-01 4.832704478805278647e-01 2.305614450103365964e-02 +8.132899400262617595e-01 5.880133461469539968e-01 9.111175502507884438e-02 9.393792124415456524e-02 5.065823424739440695e-01 9.914194162053181492e-01 7.592323431654509625e-01 7.455658927026683758e-01 +4.048991402823904906e-01 1.566571254659517853e-01 7.356797120688123304e-01 5.390764411230588582e-01 6.597270676940375500e-01 2.747329651770501480e-01 2.590279732737785778e-01 2.656366122090436654e-02 +3.558225087757248550e-01 1.813119094716471036e-01 3.457520162614969861e-01 8.594787589862356025e-01 1.664835460341245188e-01 9.989625154804612217e-01 8.718685882999562820e-01 1.989111814524682220e-01 +8.199298565465782396e-01 4.664569464295716950e-01 4.879541483588426543e-01 6.426990693171609204e-01 2.972826351721451488e-01 8.411025461192255248e-01 5.442935982362554492e-01 4.384784622938131537e-02 +5.159107825318401952e-01 6.813746872191452919e-01 5.194630166653074754e-01 1.428279330890819265e-01 5.375868132316083958e-01 7.295976712263987363e-01 3.237862760735589207e-01 7.183222099565220731e-01 +5.889685247803699841e-01 2.898307278704522760e-01 4.361028428255788736e-01 6.527009654548986406e-01 4.032068727861040092e-01 3.549094238570170701e-01 1.310447687011675466e-01 6.115868038655447592e-02 +7.825431109915610417e-01 3.728689731571950272e-01 5.848107366071286783e-02 1.035860272060310505e-01 4.362523694860986900e-02 2.673296719270799038e-01 4.911938765049509437e-01 5.437084837374693835e-01 +5.226447607474907775e-01 2.687116912799814017e-02 5.352796373201504920e-01 7.744943504245273003e-01 8.730042057400766442e-01 8.459350849356210844e-01 8.020002448867173950e-01 1.188718625100246840e-01 +4.035095685026268697e-01 9.819898166988316746e-02 2.967922809547259844e-01 1.148468560400244254e-01 1.330597858411565193e-01 7.528444255016767395e-01 9.657072440116940548e-01 3.675192883906898134e-01 +1.806920952290325122e-01 7.785019865243507642e-01 9.386220567436667217e-01 5.220504429072574393e-01 6.709786977369869287e-02 3.964642959643401854e-01 5.205520642340891735e-01 9.685413864492746772e-01 +3.399065223759256682e-01 3.437303339733954743e-02 8.994839627245174718e-01 3.156992358240954255e-01 4.268464744908029296e-02 7.119949730688973633e-01 2.384576852434607819e-01 9.244344398412818187e-03 +6.788520471854354588e-01 7.808127190135548679e-01 2.783293428013579041e-01 8.235003024884131051e-01 3.824337268392179467e-01 5.927819823573886593e-01 5.004667276717065239e-01 8.298568292390072765e-01 +8.422112378109881670e-01 8.695066550233059299e-01 7.074877348993513504e-02 1.059868787196414086e-01 1.497989989390239307e-01 7.015884809567798364e-01 4.575195676645470444e-01 5.934803057963589090e-01 +1.537136679525833438e-01 6.501927967270718645e-01 1.492177482701765312e-01 4.947259047886304328e-01 6.936800533304157135e-01 2.482514946938367828e-01 6.937125454965641369e-01 3.352649440362825972e-01 +5.373673219722147065e-01 7.891490185240700450e-01 7.238521048640199629e-01 7.326419945673913192e-01 2.956982783892733169e-01 4.327383213479187862e-01 4.018784945529469965e-01 7.015032893977802830e-01 +4.679621942812955959e-01 7.491655496992738472e-01 5.569497665945647435e-01 1.900072169681435996e-01 7.356478485857745886e-01 9.467908010276945285e-01 2.023474319208105054e-01 2.665176933562499739e-01 +5.356447856011801179e-01 5.710012319212479648e-01 1.799976911156506709e-01 4.380203289191375582e-02 3.295003040852314546e-01 4.837541971015867359e-01 2.341050800935899900e-01 7.396784343999183164e-01 +5.827110918754628832e-01 1.736749817473492996e-01 3.054709389407929132e-01 1.835652645233376568e-02 8.704201036411571835e-01 4.175560301905589800e-02 6.650064379026126016e-01 1.795918674079746147e-01 +2.594864689487766940e-01 9.222852845425731916e-01 3.357651858017784985e-02 6.496195400519704233e-01 8.850295688962700469e-01 9.816645315041638842e-02 2.283267233224043347e-01 7.725328508167667030e-01 +3.631969708413583797e-01 1.203753118846605519e-01 4.659299754092621759e-01 2.686090962397542636e-01 9.170671155915003370e-01 9.521544755782708203e-01 4.105130028262661268e-01 2.100693808107871874e-01 +3.765068506865640874e-01 6.578033862473796622e-01 5.638351658816802559e-01 2.577249886021155678e-01 4.333070882222536113e-01 1.289401227599932254e-01 7.477045920837001036e-01 9.306975781898388922e-01 +7.245503073257920645e-01 3.280704449880321727e-01 3.530660458116080536e-01 9.632857453633750788e-01 5.621218732069143131e-01 4.320626739444636266e-01 2.393869628004844374e-01 7.777654803893190305e-01 +8.205580736436102196e-01 8.280728371035290802e-01 2.416460580715062978e-01 9.721662109912142524e-01 7.468432960590853931e-01 5.993699220274119055e-01 2.166179652941893075e-01 2.118195556775627209e-01 +1.081946311205800315e-01 1.523340817862857133e-01 3.965633874447038743e-01 3.643184864276983737e-01 1.159100203286704822e-01 2.795964187358638275e-01 7.944464559003686643e-01 5.788027972947912270e-01 +6.918123974154877232e-02 1.540574237501024513e-01 5.927073097338616536e-01 8.588364337630600698e-01 8.545629132423170349e-01 8.370029056147649804e-01 4.974846069991096797e-01 6.251588749929648525e-01 +8.596899553090384671e-01 3.517796738412009017e-01 4.634748768130864116e-01 3.425417931854302100e-02 1.753585115701767894e-01 3.459583450155346851e-01 4.524017525712915599e-01 8.168329598776165046e-01 +5.675404147580123126e-01 3.578507547233330532e-01 3.453119703417656394e-01 3.868539679556138866e-01 5.907962068867620431e-01 5.570981539201516064e-01 2.684888955200868121e-01 3.055081458793256211e-01 +6.273079207811931290e-01 7.455362153433187089e-01 3.225949570219678320e-01 7.496401556505953856e-01 5.797345622542582344e-02 1.869619443192446218e-01 8.670381741084869365e-01 6.162673088832482104e-01 +2.252955304399140157e-01 8.714024941638224275e-01 2.171658140979927376e-01 5.058501401283596044e-01 7.378746114230507747e-01 7.078209559430976849e-01 5.077695726710762525e-01 9.193587477354547843e-03 +8.568094144614888386e-01 8.118968525107435052e-01 1.308447592639162549e-01 8.845675519684709220e-01 4.954486276537227729e-01 8.722366741787690447e-01 3.126649433104699005e-01 4.697360467166179498e-01 +1.388920516255846005e-01 6.032226969251661686e-01 1.249548338044639273e-01 6.326119925789441822e-02 3.723391915117046924e-02 4.198089005877970736e-01 2.285475216062271553e-02 1.878941409754375513e-01 +8.668719718352734249e-01 9.806370007592529747e-01 9.309600758842394574e-01 6.622345581032370587e-01 3.278911868430415266e-01 9.406420910851509554e-01 5.790257894885448842e-01 9.247897093588234307e-01 +8.963867621709575850e-01 4.790974916218815327e-02 5.197350966730011068e-01 2.037016905222369667e-01 4.543886240878092231e-02 1.930367854850625342e-01 3.904015340924071875e-01 5.704714980118791301e-01 +3.066378816184957001e-01 2.276057609268508086e-01 3.231186714047534769e-01 7.914358431125686488e-01 1.355318446667497234e-01 4.615611593357429321e-01 2.740794993023010218e-02 5.385124785923323110e-02 +5.970680065773563694e-01 6.316830211531856420e-01 4.022645253693536427e-01 5.851117365699605166e-01 1.347865677944466434e-01 6.518139920600092285e-01 5.649587773025165349e-01 3.187419870498963137e-01 +8.091514106657232697e-01 7.575225481285063900e-02 9.768468539100139125e-01 2.985589427794386186e-01 4.460594719404271657e-01 1.228463412477095451e-01 6.818657559402918622e-03 5.368024872812240389e-01 +3.097931586313455998e-01 6.817021263805789211e-01 9.625014267651074151e-01 9.884878718804741560e-01 8.948471988362060037e-01 2.653794694511933949e-01 6.963886551781832690e-01 7.980051953442369728e-01 +9.415043537886742531e-01 8.619590627601068089e-01 9.342630443748880520e-01 1.166428410962369044e-01 3.542625229276974430e-01 5.933024456078821451e-01 2.500199350353559113e-01 5.720950447406908390e-01 +3.830906063810730622e-01 5.629101409465986361e-01 6.422996015475783693e-01 1.276323813366417870e-01 6.249758168328923835e-01 3.056915146436931519e-01 7.163517387611433307e-01 4.497413385614057457e-02 +7.297186706956751978e-01 2.471477794676819606e-01 9.388230788170849328e-01 5.439964795261390540e-01 5.990584325614759509e-01 1.122423290763125969e-01 7.486336159659670031e-01 5.375670768847451431e-02 +4.647004382772540465e-01 1.095951841570711460e-01 9.661483476519492353e-01 4.268983188844409637e-01 4.134714440125495383e-01 3.068519833128061647e-01 3.144720586706017951e-01 5.988578656766426755e-01 +9.398219957138475023e-01 4.033900160525323297e-01 3.369477834893840340e-01 5.739351970501328504e-01 7.154546328567248370e-01 3.383412216272521089e-01 9.570315096091472906e-01 5.720115953220444860e-01 +3.597383081074405631e-01 7.660553711525477372e-01 9.197233720456166051e-01 6.750566605718799629e-02 3.507747523439762594e-01 1.762390531238322566e-02 7.683168988842016267e-01 8.228214975150752730e-01 +2.224144187897209024e-01 3.548750189909440911e-01 2.300183199341157003e-01 2.885867163099908872e-03 9.611095105343623324e-01 3.123452938067122764e-01 7.196284357711810742e-01 3.311856892671842800e-01 +4.528048817625627276e-01 1.517716403690900773e-01 8.820447473796754201e-01 1.951228345313962276e-01 2.242509583985818900e-02 5.110997134567054623e-01 1.171289486513515943e-02 6.782934156640968437e-01 +2.156065017847959009e-01 7.770006187042755030e-01 1.151521874959221536e-01 5.617456245280237903e-01 5.047612040922517807e-01 4.596999596003454869e-01 5.138289139167510067e-01 5.117629047046541313e-01 +6.683757409917436831e-01 9.584452521223332244e-01 4.867130383504744140e-01 9.099219738650716760e-01 9.174161297284891825e-01 1.009548933629051959e-01 8.393407714566546440e-01 9.515791627604377467e-01 +2.168658030514275525e-01 4.321830320212273202e-01 4.432207430863531750e-01 6.685916279350051505e-01 6.380086816397045890e-01 2.349641718093720133e-01 8.183648208860557771e-01 6.420532104810378060e-01 +5.171468983530425056e-02 8.856242755911952758e-01 4.640666485539701736e-02 1.638728089756968931e-02 8.975560213674053101e-01 8.286983819998984258e-01 4.543368282644204559e-01 4.209446265905550932e-01 +9.860830943861002007e-01 4.498514736963545868e-01 6.268528415357321748e-01 3.815439095096303523e-01 5.610571465484988085e-01 5.333973150637292271e-01 5.479320940013617802e-01 1.644537132531528334e-01 +1.526870263769408709e-02 4.495735899055530727e-01 2.695276129017465383e-02 1.014070960461996851e-01 1.680619827802691812e-01 3.226891356089123253e-01 7.771357418462939703e-01 1.849008378933650887e-01 +3.073922311791081885e-01 4.192661009586443610e-01 8.890400767499406776e-01 8.450855924454491186e-01 4.489671284064240542e-01 8.698647368460433738e-01 9.118677472199049339e-01 2.601027102325281781e-02 +2.498217110573942579e-01 7.375801113367959072e-01 1.482445459680504785e-01 7.925725003436661087e-01 9.914375973884594906e-01 2.925398865461952269e-01 8.099206607676803227e-01 1.077266904523052071e-01 +6.581057735085237281e-01 6.025447753173125420e-01 9.803309958177824912e-01 5.515549636834599090e-01 5.719963997309103210e-01 2.355979979949258674e-01 4.678735237172474415e-01 7.951213393036187238e-01 +4.579553948678688480e-01 7.083466831653683071e-01 6.943092899343267232e-01 5.628470822285513986e-01 5.041183883229488627e-01 4.922475492765877592e-01 7.112269656671759144e-01 7.527825523085366344e-01 +8.904152078304561346e-02 4.851452467551536918e-01 4.961684233945652389e-01 7.227630094369027480e-01 7.941192620303402228e-01 6.862738307243544389e-01 2.875528137088578795e-03 8.887272802248467052e-01 +2.027268222673047626e-01 1.864589517445699451e-01 3.164517650319575992e-02 7.348886111799766141e-01 8.891364634357682428e-01 5.007840587035868873e-01 5.708660974381420949e-01 1.558023300449833393e-01 +1.836197432645331196e-01 9.233909544890370746e-01 9.672335696313063558e-01 1.318036430338809240e-01 6.464277460772708261e-01 5.829176273377223438e-02 8.128731213150902635e-01 2.910847215351848316e-01 +4.584693242309511030e-01 6.235223455839221662e-01 9.145897912583158540e-01 4.371206303352970224e-03 6.609404887464986889e-01 3.754657950915659681e-01 4.610065859356806683e-01 9.573868276963984902e-01 +4.670995075200443658e-01 8.995960231233040005e-01 9.286792396085093992e-01 3.377687993055877858e-01 4.185749801261525738e-01 7.233549960223029096e-02 1.228907699520034313e-01 8.130293051142654104e-01 +7.112413723998651793e-01 2.212722738267847156e-02 3.914754115133126655e-01 7.336988716426550150e-01 6.707949451911210392e-01 2.608685273235705759e-01 7.988357251546289728e-01 9.089420988648369004e-01 +9.362331851906711133e-01 2.767797552673270101e-01 3.248617744277900732e-01 1.598846300335792225e-01 5.038093510865794267e-01 2.920870412668601368e-01 1.881850541157747969e-02 7.634825192208336553e-01 +5.492030659996813835e-01 5.333912395972560949e-01 7.085246231959548835e-01 9.889101262423849459e-01 6.059405850373511537e-02 6.045216130463650916e-01 7.411768075143481127e-01 6.196081995827146249e-01 +5.269797132776219417e-01 5.152505308871397904e-01 4.983095294844348544e-01 6.585263452991433342e-01 9.290777025928824706e-01 3.573732915698895063e-01 3.725969575933809619e-01 9.086898250429096269e-01 +2.230401946213855791e-02 5.511167468731759111e-01 6.778296137261515808e-01 9.476451689257890942e-01 8.352333886111484862e-02 5.692240996028005151e-01 8.252714986422522436e-01 5.939648582605467908e-01 +6.044899117089345131e-01 6.344947089201169454e-02 8.658534417171168673e-01 8.309207095970582158e-01 9.320621377649057626e-01 4.385696518319281978e-01 3.684560686662246010e-01 2.301560535404708618e-01 +8.711158583457317972e-01 2.135676840987010827e-02 6.154683902546649321e-01 5.790833939798749608e-01 7.029750169525454950e-01 6.741751246096941985e-01 1.049725673825600003e-01 1.721239201010347220e-01 +4.475948664413829103e-01 3.380600903837258642e-01 8.336913152741829425e-01 2.836777308020316246e-01 6.561617461922398808e-01 7.182398096317532676e-02 6.638656676807999091e-01 9.889485713382989429e-01 +9.970295092289638283e-02 3.711203511544238776e-01 4.236922679970946959e-01 8.857443931755341060e-01 4.682554351888846833e-01 1.379407091558269016e-01 7.032162321078115896e-01 8.280288774265611718e-01 +5.257824173197997997e-01 9.362690222440636090e-01 4.956338912811877329e-01 1.963016974964715278e-02 7.282084034891694868e-01 9.284023567482084793e-01 4.187048782951445780e-01 1.667154354525317572e-01 +3.559190829727184591e-01 4.542912392414757417e-01 6.303335375162172349e-01 2.042639661974954279e-02 7.748040158356828133e-02 6.297258051483258789e-01 3.009796698567375195e-01 2.366584213575668727e-01 +8.204890543386224033e-01 8.632118673243632800e-01 9.345323021856817292e-01 2.419352010902064976e-01 6.455514017809544924e-01 1.727561638910907194e-01 7.021079011502225908e-01 8.475262634036084819e-01 +7.543801395963501966e-01 9.740796749668273469e-01 3.690689317717377183e-02 8.275719678133353074e-01 1.705394719341579712e-01 9.599945498682882494e-02 9.282769033854609830e-01 8.978568472020869162e-01 +3.401375920356430882e-01 2.675122630694009018e-01 7.253631799146841308e-01 4.665042268260102265e-01 7.787332440560607028e-01 6.057843860964712279e-01 9.062757616860147580e-01 2.340063523608431062e-01 +8.944657763941082917e-01 1.716576530650798516e-01 3.968419151134316980e-02 6.861924262973515543e-01 4.922795797049059896e-01 4.835132979582880131e-01 8.183583642856079310e-01 3.060354713777990732e-02 +1.677289065078335639e-02 5.473179754397513586e-01 7.104936612180788869e-01 7.363083560258977256e-01 7.113525378564670154e-01 8.213752809740303418e-01 1.161827062823872492e-02 8.323750413293149464e-01 +6.329988596520355060e-01 2.791600974657106882e-01 1.662262001900927100e-01 5.858046826039917665e-01 1.334852592288270356e-01 9.373055376579106923e-01 5.233985934094795844e-01 8.626991821654029780e-01 +1.843458032141579439e-01 5.439812243179042994e-01 9.889654988231978416e-01 9.046426916064090884e-01 4.035450642272191413e-01 1.465477987467944665e-02 3.198825512720645525e-01 7.441648792152292247e-01 +2.843628569091375402e-01 2.629992376559231460e-01 8.563883981564025527e-01 6.145709100801205471e-01 6.640172584313757120e-01 1.285271358127880736e-01 4.156236830240359614e-01 1.257030928764483191e-01 +1.935943818036295339e-01 5.859929651512008064e-01 4.655433239783667299e-01 6.975802715130341447e-02 9.711726451128367410e-01 2.188829222627084459e-01 9.640256213794865525e-01 1.068581159039356798e-01 +4.581732864612467759e-01 8.340016012506963339e-01 7.367025370363962100e-01 6.198202582192986476e-01 6.624862396347275251e-02 8.958976966654973451e-01 9.954902437985890806e-01 1.196633664717050571e-01 +8.724241882763520417e-01 4.633625231012267198e-01 5.339108491225087461e-01 9.591084472847671849e-01 4.089228001634876986e-01 7.510928110940007230e-01 5.307786633632389783e-01 2.240499908986105515e-01 +9.627605301098967061e-01 1.000098623796528141e-01 7.036185930984296677e-01 1.074808558906417133e-01 8.606382400077690065e-01 7.552477171798165356e-01 7.274601516952922120e-01 5.574651404332113813e-01 +4.433241249133741402e-01 8.460906189664096910e-01 5.985880220498489557e-01 5.493685730318246252e-01 8.445130056962889542e-01 2.235819474079103752e-01 8.251377116339078110e-01 6.662081494682047245e-01
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/medium-input/output.tsv Tue Feb 04 09:11:16 2025 +0000 @@ -0,0 +1,100 @@ +6.260662423106535535e-01 1.524887333930107891e+00 1.636894364954784908e+00 9.534823759140125254e-01 7.777904882237156592e-01 1.103577465211500019e+00 1.828989286434621886e-01 1.194402800812723875e+00 +1.064354834823865031e-01 2.443253403563385717e+00 9.352904207393186731e-01 6.958235071370608704e-01 3.059157523069105711e+00 5.352166896168863985e-02 4.185124883957822561e-01 2.880055045970961736e-01 +5.071938283430243999e-01 6.100612503736918546e-01 2.397656478432312888e+00 9.207743580532321559e-01 1.475712730961514119e+00 4.436248725413152738e-01 4.467429273115088306e-01 1.198233553971345344e+00 +8.834605456432442772e-01 2.822329675881941613e-01 1.048037415004819950e+00 9.596764430866304707e-01 1.671660464257316292e+00 1.138694752779329189e+00 1.245830879436621519e+00 7.704065322001962812e-01 +1.615490114582019299e+00 9.863945217919819486e-01 1.442732334271225936e+00 6.902134895771802059e-01 1.812881724586432597e+00 1.330801885170614096e-01 6.082289377488294679e-01 7.109786889063081095e-01 +9.940805096338916069e-01 1.088973054999595957e+00 1.396427376810878140e+00 2.892252483493024107e-01 1.680912615512207386e+00 7.319994733374608487e-01 8.871069646088772798e-01 9.312747567279126004e-01 +2.730453768400197267e-01 9.981834259764956752e-01 1.527480829497189108e+00 5.039557393850377931e-01 3.046053796416711701e-01 1.793097724575097418e+00 1.170135140295111675e+00 1.429496383797861370e+00 +4.197847466687382734e-01 7.828538744656359238e-01 8.580487867091840526e-01 7.293505549405370214e-01 1.945212315880147091e+00 2.259007336679042854e+00 3.879340131197580588e-01 6.178083715388495989e-01 +5.679015924093875345e-01 3.518987041035506746e-01 7.341695139258449521e-01 1.457142696077054378e+00 1.302370262113086374e+00 1.245942540987419855e+00 1.347169002740285393e+00 9.934056876477307396e-01 +1.684004907590734845e+00 1.444161235849159564e+00 3.984739107085444321e-01 9.998233818522748173e-01 1.518934154709371542e+00 5.840990850347825836e-01 3.162940102694656863e-01 1.054209313976296025e+00 +1.869424955388639509e+00 9.543124558230038357e-01 5.275825192842545919e-01 1.403355477389838679e+00 2.701438127929193245e-01 8.026011040762355275e-01 7.754724118967846191e-01 1.397107263364716134e+00 +8.333400225491112145e-01 8.464876083525055828e-01 9.468331039771183955e-01 1.416840276121563713e+00 3.421795543099768744e-01 2.062256635596919629e+00 7.517493614211798736e-01 8.003134377000580280e-01 +1.980845705053990491e+00 9.869789773706824088e-01 7.199621699070712921e-01 5.409330595782843032e-01 1.422129150352609894e+00 2.321393674522503614e-01 5.204238217204103512e-01 1.596587748550086783e+00 +4.733243860276685755e-01 1.663280135792251646e-01 5.551602300846610882e-01 4.703804315204037634e-01 1.929156044838635342e+00 6.501697695854313785e-01 1.685950897176192065e+00 2.069530227161819447e+00 +1.770765003784900704e-01 1.599322957434187398e+00 9.850296363927099064e-01 7.088411917627196468e-01 1.815351673755039252e+00 1.037839760930164612e+00 8.440692536778210409e-01 8.324690256473180616e-01 +2.500391349190613344e+00 9.831377558222472723e-01 1.203415485156630993e+00 7.808979718481456889e-02 8.301742165321654987e-01 9.939695562440449272e-01 1.342725754818879569e+00 6.809608505360831288e-02 +1.416374823920011794e+00 1.027932720662224186e+00 1.484392136536779316e-01 1.798744683010785050e-01 8.038515686359086754e-01 1.800740087593484251e+00 1.283240596750704787e+00 1.339546520486716519e+00 +1.076311733596298614e+00 4.180094330650535039e-01 1.829453748811742386e+00 1.575568727988075013e+00 1.597896114233158027e+00 7.616629111167537713e-01 6.682492489558786719e-01 7.284808223705228902e-02 +7.026524776563871644e-01 3.594001095653271971e-01 6.387241257303820641e-01 1.866113661088050435e+00 2.995515006963848648e-01 2.057392590802483490e+00 1.670932042788848104e+00 4.052334917058952324e-01 +1.571930039775518040e+00 8.976618872976043217e-01 8.751388454741950707e-01 1.354752506197021811e+00 5.193008961319115491e-01 1.681768736377190487e+00 1.012722200546272822e+00 8.672488822585092128e-02 +9.947840479491272259e-01 1.318818140626395685e+00 9.370230526735290333e-01 3.028050673494406819e-01 9.444866687729805976e-01 1.467230889022174356e+00 6.059171377752231580e-01 1.428934995828433197e+00 +1.606281047505409232e+00 7.934482112809826404e-01 1.112653148694779270e+00 1.957219272773572660e+00 1.001960019788458611e+00 1.009503420634959792e+00 3.468564135615970767e-01 1.720784657804333984e-01 +2.334536381205888578e+00 1.116588959723178842e+00 1.632108947369288743e-01 3.397733642707536084e-01 1.185832066535515705e-01 8.317644487152379140e-01 1.422151649750632796e+00 1.673391094949497226e+00 +9.331652220304009759e-01 4.815963812542815164e-02 8.940753076129521748e-01 1.520428414370275316e+00 1.420238551205383004e+00 1.575251115416942405e+00 1.389719131153653198e+00 2.189626200990912319e-01 +1.031729101062084597e+00 2.520365556339915214e-01 7.099142256038142307e-01 3.228692858494026097e-01 3.099928524642467376e-01 2.007603279153673981e+00 2.396392344833994770e+00 9.694623554138034338e-01 +3.290352266861794606e-01 1.423009097036550319e+00 1.598952021841940185e+00 1.045229095634860883e+00 1.113281500177927957e-01 7.529534708454936887e-01 9.199580140941560069e-01 1.819534923843782792e+00 +1.051768125298089940e+00 1.067635671231291633e-01 2.603726515950290921e+00 1.074063150835202984e+00 1.203442162872841587e-01 2.297726054200244672e+00 7.160979365373363326e-01 2.951043380923046300e-02 +1.100027728978102637e+00 1.270047865193449033e+00 4.219188507223764484e-01 1.467195692608980195e+00 5.646478827046587101e-01 1.001807572532477320e+00 7.870535862611587330e-01 1.387300821007612983e+00 +1.762757865071204577e+00 1.826792619628732739e+00 1.385262184816468400e-01 2.439043304297625891e-01 2.856758693534294791e-01 1.531492568084829475e+00 9.293555436407240355e-01 1.281494985315702051e+00 +3.616772655158986827e-01 1.535661821557115836e+00 3.284510399387614021e-01 1.279879713975671018e+00 1.487171139131853836e+00 6.092021273360161970e-01 1.584122873319150804e+00 8.138340192072816004e-01 +9.251584924451490277e-01 1.363793501014154197e+00 1.165832513571358531e+00 1.386859529266327051e+00 4.638597615114695705e-01 7.770179606430539510e-01 6.714910758444357919e-01 1.245987165710203293e+00 +9.178013604196544328e-01 1.474892731923109546e+00 1.021869387940393059e+00 4.097356994511237027e-01 1.314622058150399342e+00 1.936657279838428725e+00 3.851556002269050927e-01 5.392658820513777096e-01 +1.373264613862467787e+00 1.469464511361221026e+00 4.317036461766104449e-01 1.234716905203558646e-01 7.697083271975306840e-01 1.293489502511184774e+00 5.824904071557502894e-01 1.956407301209800442e+00 +1.707386074332197579e+00 5.108112115622573945e-01 8.373167602131628140e-01 5.913774141944324464e-02 2.323808739134543000e+00 1.276009843283479328e-01 1.891058183736556542e+00 5.428803052399375773e-01 +5.380311794611595255e-01 1.919564529234300432e+00 6.512831261040875896e-02 1.480974521848076764e+00 1.672027923961491469e+00 2.122836969607022339e-01 4.594624920487170860e-01 1.652527343851448283e+00 +7.940892087896685991e-01 2.641856419943767742e-01 9.529917973854424851e-01 6.457190091606748172e-01 1.826927086021748137e+00 2.171177372742092881e+00 8.710730671477331377e-01 4.738368167642144635e-01 +7.413828174455967535e-01 1.300200855412667389e+00 1.038635654763986560e+00 5.579842523802344134e-01 7.774248967334110860e-01 2.648003334470097059e-01 1.428894857468393065e+00 1.890676332329826126e+00 +1.305257705998938311e+00 5.932524460016698198e-01 5.950111568839381304e-01 1.908001158634192285e+00 9.226802469684728392e-01 8.117742751754079000e-01 4.185321334372795188e-01 1.445490876913575473e+00 +1.402337681787121593e+00 1.420550014418945572e+00 3.863353342567079074e-01 1.826751964458309452e+00 1.162962699368209396e+00 1.068314297639433974e+00 3.592843868721708467e-01 3.734636212097804386e-01 +3.093458152732207478e-01 4.372001707753075395e-01 1.060700039600145805e+00 1.145290144067888871e+00 3.019621676562125323e-01 8.337406063695094183e-01 2.204467794077170417e+00 1.707293262182628224e+00 +1.229356936889106078e-01 2.748001691588282114e-01 9.853065586692719702e-01 1.678015218209728765e+00 1.383651487802548985e+00 1.551234432031751043e+00 8.579656388738582384e-01 1.146090801574100482e+00 +1.972671472399033732e+00 8.102673934702107061e-01 9.949025498689354485e-01 8.642159116182392131e-02 3.666340360474427684e-01 8.279374685688942748e-01 1.007483128273502837e+00 1.933682360211149476e+00 +1.347190370647808555e+00 8.526657590507904505e-01 7.668055451880352313e-01 1.009659676823193797e+00 1.277800025687763297e+00 1.379191940565360985e+00 6.185276187527362080e-01 7.481590632905956717e-01 +1.187308781260941748e+00 1.416434062670310468e+00 5.711917382207448712e-01 1.560024899922183961e+00 9.997815516143394865e-02 3.690599674211873515e-01 1.592655036458980433e+00 1.203347358889285346e+00 +4.778066606017979945e-01 1.855082083913372371e+00 4.308563702535935791e-01 1.179552506171445359e+00 1.425854493154909974e+00 1.565610965528159149e+00 1.045121755043409983e+00 2.011516532995163628e-02 +1.394332399666426303e+00 1.326256898708139786e+00 1.991956528286979444e-01 1.582737430348651664e+00 7.346385879145518327e-01 1.480393763943961050e+00 4.938122631078689651e-01 7.886330034996061888e-01 +6.864622962581252708e-01 2.992689628604456864e+00 5.777418016743363083e-01 3.437735792292248016e-01 1.676760615530714371e-01 2.163972574249807934e+00 1.096267157250208207e-01 9.580573427126344299e-01 +1.110291133184210910e+00 1.260767180085014871e+00 1.115461027959469664e+00 9.325873710302008401e-01 3.826526025106025686e-01 1.256513425050605370e+00 7.197479046705360650e-01 1.221979355519595245e+00 +2.503164407560089622e+00 1.342958358835747157e-01 1.357742523881091623e+00 6.254381283796186519e-01 1.156150598086370940e-01 5.622051664069175336e-01 1.058049650111206663e+00 1.643489227984286094e+00 +1.024432480697601733e+00 7.632828299167790931e-01 1.009859656863205890e+00 2.907160628302665195e+00 4.125645429481631377e-01 1.608227943820842887e+00 8.886580465947541141e-02 1.856061128347510636e-01 +1.215236684430805569e+00 1.290568270106081661e+00 7.659320455884195411e-01 1.309397959369345665e+00 2.499635608174520518e-01 1.383635079487802511e+00 1.115974889320991315e+00 6.692915108970085569e-01 +2.008902573224175647e+00 1.887858122376153136e-01 2.268804088583847633e+00 8.149949978059789490e-01 1.009055056036695541e+00 3.180915412399808462e-01 1.642965906209322216e-02 1.374936271813944622e+00 +4.447384793233875588e-01 9.823635540310742265e-01 1.292634373972280315e+00 1.560270900140888983e+00 1.170509073224734298e+00 3.973388405682437008e-01 9.702533773172701270e-01 1.181891401414672638e+00 +1.643325997380105985e+00 1.510194006517519671e+00 1.525499248422103715e+00 2.238490533040519148e-01 5.634036053974297298e-01 1.080036284922529122e+00 4.235226318993823846e-01 1.030169172158312385e+00 +9.233234488937014373e-01 1.361871538538544701e+00 1.448209691056492110e+00 3.382275766768068070e-01 1.372488115352348936e+00 7.684162855605572995e-01 1.675634421367673044e+00 1.118289225362769229e-01 +1.497201220239979369e+00 5.090097905367766407e-01 1.801979748389138436e+00 1.227203493107398291e+00 1.119919785613822549e+00 2.401829632408456483e-01 1.490715029572329930e+00 1.137879692984200275e-01 +1.042016868958514086e+00 2.466822195099293014e-01 2.026688100838765827e+00 1.052499484335787550e+00 8.447733522867764133e-01 7.176148494608598494e-01 6.843595357585767758e-01 1.385365588856116714e+00 +1.561589361526830810e+00 6.728079130750193038e-01 5.237514942141847651e-01 1.048527620312971864e+00 1.083169329669369851e+00 5.863230451222437578e-01 1.543291858360316127e+00 9.805393777164091995e-01 +7.202242496732034205e-01 1.539522083257735208e+00 1.722581225549867812e+00 1.485994008034706715e-01 6.398856873364299203e-01 3.679967790492769120e-02 1.492870131892262142e+00 1.699517543556859689e+00 +5.855803875909194600e-01 9.378723277094230815e-01 5.665359138820668106e-01 8.354023650385336217e-03 2.305629268380920305e+00 8.576683139569467595e-01 1.838791518589718343e+00 8.995682462044874983e-01 +1.245055867670846750e+00 4.189026193456105163e-01 2.268870934469359835e+00 5.899043718678476100e-01 5.618301795113412461e-02 1.465696973374178702e+00 3.125666050514917804e-02 1.924129554837595402e+00 +4.678297798582106148e-01 1.692357396532937930e+00 2.337435509223362851e-01 1.340174925849280330e+00 9.979412979405386519e-01 1.040306448412098073e+00 1.082044547559847691e+00 1.145602052919655334e+00 +9.181400283391810691e-01 1.321600707656119145e+00 6.254644902326023104e-01 1.374320978171403196e+00 1.148279554725103013e+00 1.446360098681712114e-01 1.118992445661734614e+00 1.348565785332251687e+00 +4.248695132966540666e-01 8.499177814785908724e-01 8.123178686133051274e-01 1.440194699034175629e+00 1.138896085701420535e+00 4.800947464065575265e-01 1.556008761786696004e+00 1.297700543673272700e+00 +1.162309664922556579e-01 1.998030650082804227e+00 9.757301325866100938e-02 4.049585776531008235e-02 1.838071948046003046e+00 1.942518798435709071e+00 9.910292170166522530e-01 9.760495488805110975e-01 +1.872672558317382885e+00 8.575554073483780959e-01 1.113667040482630322e+00 7.966886649649733698e-01 9.708417610578357060e-01 1.056476821076509198e+00 1.009893702396194692e+00 3.222040443632204210e-01 +5.993862288664886934e-02 1.771536575033267669e+00 9.898042699061877780e-02 4.376921414926100429e-01 6.011282304172518298e-01 1.321142859315700413e+00 2.960752457952702255e+00 7.488286858965005344e-01 +5.213102242944162024e-01 7.137363475195225293e-01 1.410477390185877811e+00 1.575795415443368874e+00 6.937626543054649098e-01 1.538565166037205723e+00 1.500844859472159731e+00 4.550794275943188111e-02 +4.867506702941648000e-01 1.442548043830153226e+00 2.702069644477119170e-01 1.697896288111885088e+00 1.760089618711488946e+00 5.944595151409278744e-01 1.531508632586380925e+00 2.165402668628660099e-01 +1.090541333394849710e+00 1.002260151727252246e+00 1.519709571274461934e+00 1.004918882597565233e+00 8.636399878585248047e-01 4.071728765810334605e-01 7.524462659341862869e-01 1.359310930627217751e+00 +7.512153504429490702e-01 1.166357933769011312e+00 1.065456406311383608e+00 1.015143581122553540e+00 7.534715018758881833e-01 8.421426284865074496e-01 1.132270207283167185e+00 1.273942390706132022e+00 +1.698519513833826045e-01 9.289545397596324916e-01 8.854183703007749706e-01 1.515896914142323526e+00 1.380246706842599203e+00 1.365325573485258515e+00 5.323486842235061745e-03 1.748982457245881417e+00 +4.952546912906013454e-01 4.572411753508336951e-01 7.232131964208760033e-02 1.973943336389879954e+00 1.979150514932048521e+00 1.275935425413319724e+00 1.353481203097589791e+00 3.926723338848077671e-01 +3.767262801010314854e-01 1.901677491990949820e+00 1.856433244798963544e+00 2.973238414120884521e-01 1.208424572975383304e+00 1.247310403122396383e-01 1.618564073623872890e+00 6.161194547534850630e-01 +8.385963779788184747e-01 1.144825859272824431e+00 1.564986096432909424e+00 8.791030423181097828e-03 1.101534425241357029e+00 7.162652689424425789e-01 8.183713575662894257e-01 1.806629584123481402e+00 +9.283662552158286063e-01 1.794742604721061063e+00 1.726700872158686728e+00 7.381170651428120566e-01 7.580122417562176196e-01 1.499416330954731758e-01 2.370444511302969570e-01 1.667074876764772728e+00 +1.263684219381692619e+00 3.946328723546875528e-02 6.506800250636570748e-01 1.433293665716915966e+00 1.085936297346789647e+00 4.833971125671445712e-01 1.377461982920801908e+00 1.666083409768950085e+00 +2.295135831283014571e+00 6.810882566835233520e-01 7.450139573366355572e-01 4.309499733534426502e-01 1.125339605700555135e+00 7.467882333518138793e-01 4.477236980589809762e-02 1.930911772484751321e+00 +9.005194698170541079e-01 8.779115068850363857e-01 1.086817283333363582e+00 1.782841592962209454e+00 9.052805993108284377e-02 1.033791128706980311e+00 1.179458234247101833e+00 1.048132724137654348e+00 +8.870347860847868082e-01 8.705824570779707727e-01 7.846706017893677609e-01 1.218752973898090897e+00 1.424924354857822095e+00 6.273785433140555146e-01 6.086766626043523809e-01 1.577979620365240976e+00 +4.116048706003221092e-02 1.020905837182289888e+00 1.170197977660509814e+00 1.922821202260215800e+00 1.404423973720620167e-01 1.095573359648053913e+00 1.478069339197772170e+00 1.130829399633766608e+00 +1.126342098127968594e+00 1.186735606512926700e-01 1.509270492807857078e+00 1.702302049813247065e+00 1.582410453177338638e+00 8.522767672705384712e-01 6.662965504778207704e-01 4.424280276817313395e-01 +1.869285894179249841e+00 4.600235403053628408e-02 1.235512080910819099e+00 1.366270525508729738e+00 1.374461936133297923e+00 1.508805809064666770e+00 2.186131185500332363e-01 3.810482816446787990e-01 +8.493092924074534533e-01 6.439014322190574902e-01 1.479883373370868949e+00 5.918365777517762272e-01 1.134448288102004820e+00 1.421382834980028098e-01 1.222535783982990232e+00 1.935946968649103539e+00 +2.019444843478477580e-01 7.545420764799811719e-01 8.028158842033232823e-01 1.972550701668144502e+00 8.641712785547585041e-01 2.913917505542883424e-01 1.382335502120043413e+00 1.730248322067943434e+00 +1.010880475535465450e+00 1.806920782742236664e+00 8.914483386554149513e-01 4.149670222896253285e-02 1.275682076254167852e+00 1.861618982059719984e+00 7.812721840673254592e-01 3.306804584510307232e-01 +1.059405758034907663e+00 1.357344620261239365e+00 1.755185023993608207e+00 6.684956647571674293e-02 2.101338104202281065e-01 1.954894659814573110e+00 8.694584015424136059e-01 7.267281594700171210e-01 +1.274205852822588803e+00 1.345640082989700836e+00 1.357696054095994809e+00 4.131061355933078327e-01 9.134623458041745137e-01 2.798086719977840864e-01 1.058208524860832611e+00 1.357872331819580225e+00 +1.268052280208412652e+00 1.643562044913096987e+00 5.803578129451093803e-02 1.529496417315769907e+00 2.611949911698592253e-01 1.682970467416549376e-01 1.514345772507830201e+00 1.557015665846665176e+00 +6.383852217471039925e-01 5.039838226135164856e-01 1.273576782275271047e+00 9.626746917194736186e-01 1.331710808218696362e+00 1.185788084247972884e+00 1.650779809900288164e+00 4.531007792758162678e-01 +1.967486807689114769e+00 3.790146351246681533e-01 8.165956685106766366e-02 1.659547931806607313e+00 9.866268705289080732e-01 1.109219097037613233e+00 1.746997235805637372e+00 6.944785517418136656e-02 +3.039108884184182208e-02 9.954575967112762047e-01 1.204314697939318446e+00 1.466877520283608183e+00 1.174400553380190448e+00 1.552175370344539562e+00 2.043056723331126978e-02 1.555952605272098221e+00 +1.202854158483585012e+00 5.324858806459089600e-01 2.954955589844737718e-01 1.223935875242039506e+00 2.311193849187546112e-01 1.857599321720684760e+00 9.652575097588353970e-01 1.691252310271481374e+00 +3.587039480492289489e-01 1.062506317137934087e+00 1.800219564892792778e+00 1.935422387205247619e+00 7.154642846627768948e-01 2.974014049089237707e-02 6.040794259196902161e-01 1.493863931639172193e+00 +6.899185621243281163e-01 6.405074114970347177e-01 1.943735517740597496e+00 1.639429479368786025e+00 1.467902957962788912e+00 3.252225158146130890e-01 9.786464815485278468e-01 3.146370739385612736e-01 +4.485198494382933165e-01 1.362780872165482604e+00 1.008998349091168478e+00 1.776965054693923629e-01 2.050115724134634831e+00 5.288854395106104000e-01 2.167594728278198879e+00 2.554085318753113731e-01 +7.716058946346181502e-01 1.409864469467362769e+00 1.160644913594760075e+00 1.147697190771561848e+00 1.016566168008197213e-01 1.573566158976552387e+00 1.627059264952448903e+00 2.079054908187498441e-01 +1.455930514413848798e+00 7.762088038860069927e-01 8.335336377939984720e-01 1.759853214993184256e+00 6.217950979196400496e-01 1.307276247030488170e+00 8.596605521556217600e-01 3.857419318307236389e-01 +1.641346631099818598e+00 1.711471097203262626e-01 1.122175473490078401e+00 2.014693226858040587e-01 1.336890037723805547e+00 1.342864727622078869e+00 1.203626750087759767e+00 9.804799475706394984e-01 +7.168586535655534497e-01 1.373326358038039929e+00 9.054857572178900416e-01 9.767237720819449409e-01 1.244261107565042268e+00 3.770593511820826138e-01 1.294908836976682354e+00 1.111376163355483726e+00
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/nan-input/input.tsv Tue Feb 04 09:11:16 2025 +0000 @@ -0,0 +1,30 @@ +4.231400670701204181e-01 6.972447935264126651e-01 1.168054985456667971e-02 +9.560556187078717016e-01 2.704180857650853032e-01 8.541409196649117908e-01 +4.276850068211504041e-01 1.551188174921825924e-01 7.564537460025996252e-01 +2.056109152934415540e-01 3.914207894942801635e-01 1.753352755596826462e-01 +3.000182557735093791e-01 8.889017433960088033e-01 6.655057545851970069e-01 +9.206693992696912687e-02 9.063987221561853325e-01 7.834031964516821045e-01 +9.020067834652161221e-01 4.038305132455564106e-01 8.041233683026974832e-01 +2.609992689923649190e-01 2.290773132661515499e-01 6.407978862117292840e-01 +4.302979163567077769e-01 5.189164739152933858e-01 7.282046345415423838e-01 +3.727612357259043607e-01 5.382837810102580889e-01 6.259649541607605894e-01 +4.096371524566553290e-01 1.638901913879453609e-01 1.678342163833023148e-01 +2.186558515622157861e-01 5.622065063130399221e-01 2.998133176366933883e-01 +4.992189737025926055e-01 1.039042287249525298e-01 9.419866770406133405e-01 +9.458437407968390831e-01 1.128206041554240535e-01 +4.683732310273942545e-01 7.463684803475290064e-01 6.812850751802099758e-01 +1.433214923169910948e-01 3.374908339553078784e-01 6.092897069787208686e-01 +1.685995744922146322e-01 6.905776573689135223e-01 6.877749185223458461e-01 +2.993897822998040636e-01 5.909985106906043839e-01 5.678634836964767674e-01 +1.508555881146554922e-01 5.982598790549433776e-01 6.545109450209030122e-02 +1.724739676503597163e-01 5.409229376781971022e-01 2.472459999727213420e-01 +6.565667028105197645e-01 9.583626457707581370e-01 3.649899950922246283e-01 +7.426180877158538030e-01 5.220924947800742455e-01 8.818388121134798086e-01 +6.653679005411207159e-01 2.235211047762991621e-01 4.914949879570088553e-01 +5.351554433048275605e-01 7.170776681718373791e-01 5.641381280847517221e-01 +7.644886789172464781e-01 3.440158136066440164e-01 8.953187419474518682e-01 +4.427103390772796354e-01 6.924506590460971500e-01 8.952268703526516935e-01 +6.967418840845805983e-01 1.774238958422759138e-01 5.270121234373810193e-01 +6.721491722408921010e-01 6.784908515221647063e-01 3.976999198521171675e-01 +1.994366196124827129e-01 1.178064990376457288e-01 +1.413991789112177822e-01 6.509831022834017267e-01 3.659049634212959701e-01
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/nan-input/output.tsv Tue Feb 04 09:11:16 2025 +0000 @@ -0,0 +1,30 @@ +1.238451123046671709e+00 1.733286680229875198e+00 2.826177063163367795e-02 +1.516069139623520634e+00 3.642184840650264932e-01 1.119713042435520611e+00 +1.082941557910463093e+00 3.336075560892349245e-01 1.583451375310092946e+00 +9.031033546600629736e-01 1.460244491362069130e+00 6.366517667487930909e-01 +5.607192711801572971e-01 1.411048552236049192e+00 1.028231667205588229e+00 +1.829685815836648299e-01 1.529968524289943677e+00 1.287062127894877284e+00 +1.416941468619384636e+00 5.388050243461898203e-01 1.044254004687746651e+00 +7.946737278886979450e-01 5.924095406363826255e-01 1.612916906315922771e+00 +8.763460851844718791e-01 8.976236055509355660e-01 1.226030306370209599e+00 +8.299358519848363258e-01 1.017924286569396042e+00 1.152139752493622327e+00 +1.787287177537208116e+00 6.073490582023632900e-01 6.053643832321136120e-01 +6.948646134989058254e-01 1.517488321465798373e+00 7.876465420724275690e-01 +1.096221566266590841e+00 1.937897848404329104e-01 1.709989242842970381e+00 +1.816017145236336727e+00 1.839837091801540536e-01 nan +8.436539414830295236e-01 1.141868160662288467e+00 1.014477707818163710e+00 +4.605130642886565706e-01 9.210495923645510841e-01 1.618437133469267541e+00 +3.821034746175552832e-01 1.329313559821668322e+00 1.288582431983404719e+00 +7.067722964650948736e-01 1.185002670010254278e+00 1.108224750384734447e+00 +6.346471713525444480e-01 2.137721987291562264e+00 2.276298536088366964e-01 +6.186991556308228946e-01 1.648093194398743355e+00 7.332070000571625501e-01 +1.111385918914882698e+00 1.377863871007495078e+00 5.107499763213050326e-01 +1.163330239593957538e+00 6.946648806668308529e-01 1.142005151361795035e+00 +1.582288367994578060e+00 4.514739788061359893e-01 9.662382881484504749e-01 +9.968270875280101917e-01 1.134479049444214960e+00 8.686937483600094545e-01 +1.276396016333581018e+00 4.878464926938406165e-01 1.235757960170374092e+00 +7.499661651969031784e-01 9.963254815879537540e-01 1.253708222858260113e+00 +1.629028001317088137e+00 3.523377210157976891e-01 1.018635003906147363e+00 +1.278495203107245848e+00 1.096144552383487181e+00 6.253602858800826336e-01 +1.343796337868724100e+00 nan 6.562044299393090530e-01 +4.255568940863548311e-01 1.664067188781326978e+00 9.103751674911713110e-01
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/skip-headers/input.tsv Tue Feb 04 09:11:16 2025 +0000 @@ -0,0 +1,31 @@ +header1 header2 header3 +4.231400670701204181e-01 6.972447935264126651e-01 1.168054985456667971e-02 +9.560556187078717016e-01 2.704180857650853032e-01 8.541409196649117908e-01 +4.276850068211504041e-01 1.551188174921825924e-01 7.564537460025996252e-01 +2.056109152934415540e-01 3.914207894942801635e-01 1.753352755596826462e-01 +3.000182557735093791e-01 8.889017433960088033e-01 6.655057545851970069e-01 +9.206693992696912687e-02 9.063987221561853325e-01 7.834031964516821045e-01 +9.020067834652161221e-01 4.038305132455564106e-01 8.041233683026974832e-01 +2.609992689923649190e-01 2.290773132661515499e-01 6.407978862117292840e-01 +4.302979163567077769e-01 5.189164739152933858e-01 7.282046345415423838e-01 +3.727612357259043607e-01 5.382837810102580889e-01 6.259649541607605894e-01 +4.096371524566553290e-01 1.638901913879453609e-01 1.678342163833023148e-01 +2.186558515622157861e-01 5.622065063130399221e-01 2.998133176366933883e-01 +4.992189737025926055e-01 1.039042287249525298e-01 9.419866770406133405e-01 +9.458437407968390831e-01 1.128206041554240535e-01 5.962479756357473848e-01 +4.683732310273942545e-01 7.463684803475290064e-01 6.812850751802099758e-01 +1.433214923169910948e-01 3.374908339553078784e-01 6.092897069787208686e-01 +1.685995744922146322e-01 6.905776573689135223e-01 6.877749185223458461e-01 +2.993897822998040636e-01 5.909985106906043839e-01 5.678634836964767674e-01 +1.508555881146554922e-01 5.982598790549433776e-01 6.545109450209030122e-02 +1.724739676503597163e-01 5.409229376781971022e-01 2.472459999727213420e-01 +6.565667028105197645e-01 9.583626457707581370e-01 3.649899950922246283e-01 +7.426180877158538030e-01 5.220924947800742455e-01 8.818388121134798086e-01 +6.653679005411207159e-01 2.235211047762991621e-01 4.914949879570088553e-01 +5.351554433048275605e-01 7.170776681718373791e-01 5.641381280847517221e-01 +7.644886789172464781e-01 3.440158136066440164e-01 8.953187419474518682e-01 +4.427103390772796354e-01 6.924506590460971500e-01 8.952268703526516935e-01 +6.967418840845805983e-01 1.774238958422759138e-01 5.270121234373810193e-01 +6.721491722408921010e-01 6.784908515221647063e-01 3.976999198521171675e-01 +1.994366196124827129e-01 1.813519271551978784e-01 1.178064990376457288e-01 +1.413991789112177822e-01 6.509831022834017267e-01 3.659049634212959701e-01
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/skip-headers/output.tsv Tue Feb 04 09:11:16 2025 +0000 @@ -0,0 +1,30 @@ +1.238802271994421389e+00 1.732866646331113758e+00 2.833085820906559860e-02 +1.514944051032812045e+00 3.637568581186076400e-01 1.121299335164818833e+00 +1.081771160614414251e+00 3.330718114081009373e-01 1.585157252171595976e+00 +9.029205094212741090e-01 1.459181316086391123e+00 6.378980172935116988e-01 +5.604429290841307365e-01 1.409611682284410250e+00 1.029945223815339705e+00 +1.828481637050317354e-01 1.528157788639554759e+00 1.288993817697919431e+00 +1.416010173105141545e+00 5.381678143696415617e-01 1.045822192809435336e+00 +7.938340709941633655e-01 5.914724827111300653e-01 1.614693565774141248e+00 +8.757106707624776609e-01 8.965012037144599599e-01 1.227788150773085007e+00 +8.293956793813973549e-01 1.016726961264114326e+00 1.153877341990019456e+00 +1.786698179553708687e+00 6.068297147167470706e-01 6.064722893412397564e-01 +6.946554003956029177e-01 1.516233889861913209e+00 7.891105193443078702e-01 +1.094910331778548018e+00 1.934562271395225408e-01 1.711633711931943802e+00 +1.847839700973952448e+00 1.871092855935013732e-01 9.650513388114931868e-01 +8.432066917611433787e-01 1.140662828719055666e+00 1.016130422513758624e+00 +4.600511624003348343e-01 9.196420333058372698e-01 1.620306793007374457e+00 +3.818381442749248511e-01 1.327692126409216966e+00 1.290469578896356717e+00 +7.063553039789411958e-01 1.183680907541539540e+00 1.109963707846808756e+00 +6.347810397359161527e-01 2.137048816821788932e+00 2.281697454829023086e-01 +6.185512860806933189e-01 1.646833064661356927e+00 7.346154107716317272e-01 +1.111245555659131190e+00 1.376965568787809735e+00 5.117887598016794826e-01 +1.162515643424361089e+00 6.938135110730451194e-01 1.143670957135836996e+00 +1.581312944100051299e+00 4.509584571618966975e-01 9.677288191087516367e-01 +9.964018763601419915e-01 1.133398952923437175e+00 8.701991267618354176e-01 +1.275369959546302390e+00 4.871980612105015207e-01 1.237432166428948266e+00 +7.494204334635453657e-01 9.950770697250511665e-01 1.255502480968706980e+00 +1.627934081143535883e+00 3.519160123710210475e-01 1.020150162551919371e+00 +1.278165088151270723e+00 1.095285401268141445e+00 6.265494987405105798e-01 +1.326665371441246633e+00 1.024096033361061808e+00 6.492386100591159837e-01 +4.254021256813869112e-01 1.662587472420029799e+00 9.120101447959347851e-01
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/small-input/input.tsv Tue Feb 04 09:11:16 2025 +0000 @@ -0,0 +1,30 @@ +4.231400670701204181e-01 6.972447935264126651e-01 1.168054985456667971e-02 +9.560556187078717016e-01 2.704180857650853032e-01 8.541409196649117908e-01 +4.276850068211504041e-01 1.551188174921825924e-01 7.564537460025996252e-01 +2.056109152934415540e-01 3.914207894942801635e-01 1.753352755596826462e-01 +3.000182557735093791e-01 8.889017433960088033e-01 6.655057545851970069e-01 +9.206693992696912687e-02 9.063987221561853325e-01 7.834031964516821045e-01 +9.020067834652161221e-01 4.038305132455564106e-01 8.041233683026974832e-01 +2.609992689923649190e-01 2.290773132661515499e-01 6.407978862117292840e-01 +4.302979163567077769e-01 5.189164739152933858e-01 7.282046345415423838e-01 +3.727612357259043607e-01 5.382837810102580889e-01 6.259649541607605894e-01 +4.096371524566553290e-01 1.638901913879453609e-01 1.678342163833023148e-01 +2.186558515622157861e-01 5.622065063130399221e-01 2.998133176366933883e-01 +4.992189737025926055e-01 1.039042287249525298e-01 9.419866770406133405e-01 +9.458437407968390831e-01 1.128206041554240535e-01 5.962479756357473848e-01 +4.683732310273942545e-01 7.463684803475290064e-01 6.812850751802099758e-01 +1.433214923169910948e-01 3.374908339553078784e-01 6.092897069787208686e-01 +1.685995744922146322e-01 6.905776573689135223e-01 6.877749185223458461e-01 +2.993897822998040636e-01 5.909985106906043839e-01 5.678634836964767674e-01 +1.508555881146554922e-01 5.982598790549433776e-01 6.545109450209030122e-02 +1.724739676503597163e-01 5.409229376781971022e-01 2.472459999727213420e-01 +6.565667028105197645e-01 9.583626457707581370e-01 3.649899950922246283e-01 +7.426180877158538030e-01 5.220924947800742455e-01 8.818388121134798086e-01 +6.653679005411207159e-01 2.235211047762991621e-01 4.914949879570088553e-01 +5.351554433048275605e-01 7.170776681718373791e-01 5.641381280847517221e-01 +7.644886789172464781e-01 3.440158136066440164e-01 8.953187419474518682e-01 +4.427103390772796354e-01 6.924506590460971500e-01 8.952268703526516935e-01 +6.967418840845805983e-01 1.774238958422759138e-01 5.270121234373810193e-01 +6.721491722408921010e-01 6.784908515221647063e-01 3.976999198521171675e-01 +1.994366196124827129e-01 1.813519271551978784e-01 1.178064990376457288e-01 +1.413991789112177822e-01 6.509831022834017267e-01 3.659049634212959701e-01
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/small-input/output.tsv Tue Feb 04 09:11:16 2025 +0000 @@ -0,0 +1,30 @@ +1.238802271994421389e+00 1.732866646331113758e+00 2.833085820906559860e-02 +1.514944051032812045e+00 3.637568581186076400e-01 1.121299335164818833e+00 +1.081771160614414251e+00 3.330718114081009373e-01 1.585157252171595976e+00 +9.029205094212741090e-01 1.459181316086391123e+00 6.378980172935116988e-01 +5.604429290841307365e-01 1.409611682284410250e+00 1.029945223815339705e+00 +1.828481637050317354e-01 1.528157788639554759e+00 1.288993817697919431e+00 +1.416010173105141545e+00 5.381678143696415617e-01 1.045822192809435336e+00 +7.938340709941633655e-01 5.914724827111300653e-01 1.614693565774141248e+00 +8.757106707624776609e-01 8.965012037144599599e-01 1.227788150773085007e+00 +8.293956793813973549e-01 1.016726961264114326e+00 1.153877341990019456e+00 +1.786698179553708687e+00 6.068297147167470706e-01 6.064722893412397564e-01 +6.946554003956029177e-01 1.516233889861913209e+00 7.891105193443078702e-01 +1.094910331778548018e+00 1.934562271395225408e-01 1.711633711931943802e+00 +1.847839700973952448e+00 1.871092855935013732e-01 9.650513388114931868e-01 +8.432066917611433787e-01 1.140662828719055666e+00 1.016130422513758624e+00 +4.600511624003348343e-01 9.196420333058372698e-01 1.620306793007374457e+00 +3.818381442749248511e-01 1.327692126409216966e+00 1.290469578896356717e+00 +7.063553039789411958e-01 1.183680907541539540e+00 1.109963707846808756e+00 +6.347810397359161527e-01 2.137048816821788932e+00 2.281697454829023086e-01 +6.185512860806933189e-01 1.646833064661356927e+00 7.346154107716317272e-01 +1.111245555659131190e+00 1.376965568787809735e+00 5.117887598016794826e-01 +1.162515643424361089e+00 6.938135110730451194e-01 1.143670957135836996e+00 +1.581312944100051299e+00 4.509584571618966975e-01 9.677288191087516367e-01 +9.964018763601419915e-01 1.133398952923437175e+00 8.701991267618354176e-01 +1.275369959546302390e+00 4.871980612105015207e-01 1.237432166428948266e+00 +7.494204334635453657e-01 9.950770697250511665e-01 1.255502480968706980e+00 +1.627934081143535883e+00 3.519160123710210475e-01 1.020150162551919371e+00 +1.278165088151270723e+00 1.095285401268141445e+00 6.265494987405105798e-01 +1.326665371441246633e+00 1.024096033361061808e+00 6.492386100591159837e-01 +4.254021256813869112e-01 1.662587472420029799e+00 9.120101447959347851e-01