Skip to content

Commit ccae18c

Browse files
committed
Data manager for commonly-need tasks when working with large evaluation datasets.
1 parent d5a1ebe commit ccae18c

13 files changed

+506
-0
lines changed

src/DataManager.php

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<?php
2+
3+
namespace PeterColes\GAO;
4+
5+
use DirectoryIterator;
6+
use Illuminate\Support\Collection;
7+
8+
class DataManager
9+
{
10+
public function loadCsvDir(String $inDir): Collection
11+
{
12+
$allData = [];
13+
foreach (new DirectoryIterator($inDir) as $fileInfo) {
14+
if (!$fileInfo->isDot()) {
15+
$allData[] = $this->csvToArray($fileInfo->getPathname());
16+
}
17+
}
18+
19+
return collect($allData);
20+
}
21+
22+
public function split(Collection $data, Float $testDataRatio): Collection
23+
{
24+
return $data->partition(function () use ($testDataRatio) {
25+
return mt_rand() / mt_getrandmax() > $testDataRatio;
26+
});
27+
}
28+
29+
public function save(String $outFile, Collection $contents)
30+
{
31+
file_put_contents($outFile, json_encode($contents->values()));
32+
}
33+
34+
public function load(String $inFile): Collection
35+
{
36+
return collect(json_decode(file_get_contents($inFile)));
37+
}
38+
39+
public function setMemoryLimit($limit = '1G')
40+
{
41+
ini_set('memory_limit', $limit);
42+
}
43+
44+
protected function csvToArray(String $filepath, Bool $headings = false): array
45+
{
46+
$rows = array_map('str_getcsv', file($filepath));
47+
48+
if ($headings) {
49+
array_shift($rows);
50+
}
51+
52+
return $rows;
53+
}
54+
}

tests/DataManagerTest.php

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
<?php
2+
3+
namespace PeterColes\GAO\Tests;
4+
5+
use PHPUnit\Framework\TestCase;
6+
use PeterColes\GAO\DataManager;
7+
8+
class DataManagerTest extends TestCase
9+
{
10+
protected $dm;
11+
12+
protected $racesFile = __DIR__ . '/data/races.json';
13+
14+
public function setUp()
15+
{
16+
$this->dm = new DataManager();
17+
}
18+
19+
public function tearDown()
20+
{
21+
if (file_exists($this->racesFile)) {
22+
unlink($this->racesFile);
23+
}
24+
}
25+
26+
/** @test */
27+
public function can_load_csv_files_from_directory()
28+
{
29+
$data = $this->dm->loadCsvDir(__DIR__ . '/data/races');
30+
31+
$this->assertCount(10, $data);
32+
$this->assertCount(36, $data[3]);
33+
$this->assertCount(2, $data[7][21]);
34+
}
35+
36+
/** @test */
37+
public function can_split_collection()
38+
{
39+
mt_srand(42);
40+
41+
$data = $this->dm->loadCsvDir(__DIR__ . '/data/races');
42+
$split = $this->dm->split($data, .2);
43+
44+
$this->assertCount(8, $split->first());
45+
$this->assertCount(2, $split->last());
46+
}
47+
48+
/** @test */
49+
public function can_read_and_write_data_as_json()
50+
{
51+
$this->assertFileNotExists($this->racesFile);
52+
53+
$data = $this->dm->loadCsvDir(__DIR__ . '/data/races');
54+
55+
$this->dm->save($this->racesFile, $data);
56+
57+
$this->assertJsonFileEqualsJsonFile(__DIR__ . '/data/expected-races.json', $this->racesFile);
58+
$retrievedData = $this->dm->load($this->racesFile);
59+
60+
$this->assertEquals($data, $retrievedData);
61+
}
62+
63+
/** @test */
64+
public function can_change_memory_limit()
65+
{
66+
$initialLimit = ini_get('memory_limit');
67+
68+
$newLimit = $initialLimit == '512M' ? '1G' : '512M';
69+
70+
$this->dm->setMemoryLimit($newLimit);
71+
72+
$this->assertEquals($newLimit, ini_get('memory_limit'));
73+
}
74+
}

tests/data/expected-races.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[[["3.375","3.7934652554073"],["3.375","7.6069028992177"],["3.375","6.785632183908"],["3.4","3.383908045977"],["3.4","3.3105220883534"],["3.4","3.300562248996"],["3.375","7.2940562248996"],["3.4","3.300562248996"],["3.4","3.4210441767068"],["3.4","3.4309650394716"],["3.4","2.5297245045916"],["3.4","3.4309650394716"],["3.4","2.5297245045916"],["3.4","3.4309650394716"],["3.4","2.5297245045916"],["3.375","3.4300789431287"],["3.4","2.5297245045916"],["3.4","3.4309650394716"],["3.4","2.5297245045916"],["3.375","3.4366038343805"],["3.375","7.4425648461415"],["3.375","3.4398260029"],["3.375","3.4333011116481"],["3.375","3.7641372643789"],["3.375","6.8688577412599"],["3.375","7.1751935375295"],["3.375","3.7143217771794"],["3.3","7.8980141366543"],["3.275","7.9488482384824"],["3.525","3.4748447204969"],["3.325","7.2872670807453"],["3.325","7.3216614906832"],["3.3","8.143609671848"],["3.325","3.8344559585492"],["3.325","4.9129232131002"],["3.375","3.9125912812569"],["3.375","4.4465589732242"],["3.375","4.9571807922107"],["3.4","3.9125912812569"],["3.4","3.8278848235549"]],[["6.95","15.931829328102"],["6.95","16.376900441393"],["6.95","12.511240164856"],["6.95","16.296974133724"],["7.25","12.147144416151"],["7.15","16.296974133724"],["7.15","15.420226275687"],["7.15","14.261157377749"],["7.15","25.794382022472"],["7.15","20.173110720562"],["7.05","25.910835214447"],["7.05","26.509237875289"],["6.95","26.582908754053"],["6.95","28.147376164787"],["6.95","27.57928880346"],["6.95","28.010004880429"],["6.95","26.503117063034"],["7.25","26.046063081461"],["7.15","26.503117063034"],["7.15","25.288609825953"],["7.15","26.856574637342"],["7.15","28.010004880429"],["7.15","26.503117063034"],["7.15","27.027313397692"],["7.15","24.958686671015"],["7.15","20.173110720562"],["7.15","18.688537935526"],["7.15","23.415952672379"],["7.15","23.43125254998"],["7.15","18.448442017347"],["7.15","18.749591903363"],["7.15","24.303851036818"],["7.15","18.749591903363"],["7.05","24.303851036818"],["7.05","15.794752433347"],["7.05","12.511900771036"],["7.05","12.008687258687"],["6.95","15.258789860998"],["6.95","13.918702218907"]],[["6.45","13.029819161216"],["6.45","14.62389380531"],["6.45","14.443283298499"],["6.35","14.62389380531"],["6.35","14.867005671817"],["6.35","14.121307820918"],["6.35","20.550148688835"],["6.35","21.121144762434"],["6.35","20.550148688835"],["6.35","21.121144762434"],["6.25","20.550148688835"],["6.25","18.732612435488"],["6.25","13.249261254997"],["6.25","18.732612435488"],["6.25","13.249261254997"],["6.15","12.670046542553"],["6.15","11.828522656735"],["6.15","12.014974779319"],["6.05","12.160657306956"],["6.05","16.013235294118"],["6.05","11.828522656735"],["6.05","12.345804988662"],["6.05","11.828522656735"],["6.05","12.670046542553"],["6.05","17.595337026777"],["6.05","11.997953722651"],["5.95","11.505358490566"],["5.95","10.776615297611"],["5.95","10.931163057508"],["5.85","13.677193612058"]],[["12.9","4.3918918918919"],["12.9","5.0469692993965"],["12.9","15.944109157701"],["12.9","18.118341642613"],["12.9","18.606575047157"],["12.9","18.118341642613"],["12.9","19.390339792193"],["12.9","18.118341642613"],["12.9","18.606575047157"],["12.65","18.118341642613"],["12.65","24.65155301678"],["16.9","25.564235468345"],["16.9","24.65155301678"],["16.9","19.870215827338"],["16.9","21.410542635659"],["16.9","22.07936"],["16.9","21.394728682171"],["16.9","21.409302325581"],["16.9","22.0944"],["16.4","21.409302325581"],["16.5","5.8465496368039"],["16.5","5.3368644067797"],["16.5","5.8465496368039"],["16.5","20.90102905569"],["16.5","19.43078221722"],["16.5","31.139842431064"],["16.6","19.43078221722"],["16.6","19.428531232414"],["16.6","19.354248733821"],["16.6","19.428531232414"],["16.6","23.975347222222"],["16.6","19.428531232414"],["16.6","19.991024898668"],["16.6","19.428531232414"],["16.6","19.991024898668"],["16.1","19.428531232414"]],[["7.7","5.127506195089"],["7.7","3.9556830031283"],["7.7","11.173096976017"],["7.7","12.613138686131"],["7.7","12.668230795968"],["7.7","12.81072056239"],["7.7","12.292242833052"],["7.7","13.067945500179"],["7.7","13.306498722161"],["7.7","13.067945500179"],["8.1","13.655488947171"],["8.1","13.021257591997"],["8.1","13.25809385231"],["7.6","13.021257591997"],["8.1","13.25809385231"],["8","13.021257591997"],["8","12.250924369748"],["8","12.81072056239"],["7.9","12.292242833052"],["7.9","12.503087478559"],["7.8","12.668230795968"],["7.8","13.067945500179"],["7.8","12.292242833052"],["7.9","3.8731871838111"],["7.9","4.0365553602812"],["7.8","3.8731871838111"],["7.8","3.9396226415094"],["7.7","3.9916579770594"],["7.7","4.1176048762998"],["7.7","4.3865184653998"],["7.7","4.5837392281753"],["7.7","4.3708467309753"],["8.2","4.450345580211"],["8.1","4.3708467309753"],["8.1","4.112268907563"],["8.1","4.3001757469244"],["8","4.1191919191919"],["8","4.1897260273973"],["7.9","4.2449687716863"]],[["8.3","5.6874660879002"],["8.3","6.418339663592"],["11.05","6.5973229224763"],["10.8","6.418339663592"],["10.8","19.912642430819"],["10.85","6.418339663592"],["10.85","5.0379045996593"],["10.85","5.0166098807496"],["10.9","3.3888415672913"],["10.9","3.5793972109762"],["10.65","3.3888415672913"],["10.65","4.5613577023499"],["10.65","5.2294429708223"],["10.65","5.1475195822454"],["10.4","5.2294429708223"],["10.4","6.418339663592"],["10.4","5.0379045996593"],["10.4","5.017461669506"],["10.4","6.392295170917"],["10.4","5.017461669506"],["10.4","5.0338586030664"],["10.4","4.4601788756388"],["10.45","3.3847955706985"],["10.45","5.0125638841567"],["10.5","3.3847955706985"],["10.5","3.5751237067027"],["10.25","3.3847955706985"],["10.25","4.4601788756388"],["10.25","5.0338586030664"],["10.25","5.1433855526545"],["10","5.2252431476569"],["10","5.2031388152078"],["10.05","3.513483642794"],["10.05","4.6297524314766"],["10.05","5.2252431476569"],["10.05","5.2031388152078"],["10.1","3.513483642794"]],[["17","20.712796549245"],["17","16.673321759259"],["17","30.562210648148"],["17","31.472884386174"],["17","32.290736777744"],["17","32.845612962397"],["17","33.881425417849"],["16.5","32.845612962397"],["16.5","41.370042356565"],["19.5","43.026832198638"],["19.5","41.370042356565"],["18","32.855657492355"],["18","32.935168195719"],["18","33.974132492114"],["17.5","32.935168195719"],["17.5","41.470157874471"],["17.5","32.925099357994"],["17.5","33.963418479975"],["17.5","32.925099357994"],["17.5","33.252002464572"],["17","32.258218768679"],["17","32.228332337119"],["17.1","31.647638971907"],["17.1","32.371446040966"],["17.1","30.007100255609"],["17.1","30.072706617438"],["17.1","30.044305595001"],["17.1","29.396388888889"],["17.1","36.167805878332"],["17.1","29.396388888889"],["17.1","30.236285714286"],["17.1","29.396388888889"],["17.1","30.236285714286"],["16.6","29.396388888889"],["16.6","30.055950014201"],["16.6","29.363762486127"],["16.6","31.552474657126"],["16.6","39.487686567164"],["16.6","31.552474657126"],["17.6","32.522126613399"]],[["6.98","14.039541547278"],["6.98","15.622349570201"],["6.98","16.194653465347"],["6.98","16.15801980198"],["6.98","17.070711297071"],["6.73","16.22226640159"],["6.73","16.551318458418"],["6.48","16.786257971611"],["6.48","22.155308172685"],["6.48","23.768715409263"],["7.73","24.481848184818"],["7.48","23.768715409263"],["7.48","17.070711297071"],["7.23","16.15801980198"],["7.23","15.172554853105"],["7.23","15.460022735885"],["6.98","15.664810904204"],["6.98","20.242619697346"],["6.98","15.172554853105"],["6.98","16.15801980198"],["6.98","22.035646772887"],["6.98","23.768715409263"],["6.98","22.155308172685"],["7.48","22.773653363104"],["7.23","22.155308172685"],["5.98","15.697960754136"],["5.98","15.492310613252"],["5.88","15.697960754136"],["5.88","22.155308172685"],["5.88","23.768715409263"],["7.73","24.481848184818"],["7.48","23.768715409263"],["5.98","22"],["5.98","20.197524752475"],["5.98","19.858359698223"],["5.88","20.197524752475"],["5.58","13.865420560748"],["5.58","13.68864284516"],["5.48","13.865420560748"],["5.38","17.529108485499"]],[["10.85","14.075599915056"],["10.85","15.835209173922"],["10.85","16.794594594595"],["10.65","5.2938166311301"],["10.65","15.915351812367"],["10.65","16.262091503268"],["10.4","16.499336870027"],["10.4","16.477232537577"],["10.45","5.4471706454465"],["10.45","15.978116710875"],["10.45","16.499336870027"],["10.45","20.283423913043"],["10.45","15.915351812367"],["10.45","15.9"],["10.45","26.131756756757"],["10.25","15.9"],["10.25","15.914712153518"],["10.25","15.532946539577"],["10.3","5.1931205967675"],["10.3","5.3030046550994"],["10.05","5.3781115879828"],["10.05","5.5377984084881"],["10.05","5.446507515473"],["10.05","5.5380194518126"],["10.05","16.068965517241"],["10.05","16.088531618435"],["10.05","16.383540711635"],["10.05","15.869024230517"],["10.05","16.383540711635"],["10.05","16.749163133229"],["10.1","5.8242355605889"],["10.1","5.8221970554926"],["10.1","5.8224235560589"],["10.1","5.7997734994337"],["10.15","4.0684031710079"]],[["7.3","13.562983662941"],["7.3","14.12469218715"],["7.3","15.979628385941"],["7.3","16.03268412805"],["7.4","4.8562793821357"],["7.4","3.4584732482651"],["7.4","3.404745914484"],["7.4","3.4584732482651"],["7.4","3.5426460711887"],["6.1","3.1624393624394"],["7.3","5.1079023953436"],["7.2","4.6423194303154"],["7.3","3.1135300101729"],["7.3","3.1781931464174"],["7.2","3.2291622705212"],["7.2","3.2776957163959"],["7.2","3.1603255340793"],["7.2","3.2219456544285"],["7.2","3.4745166959578"],["7.1","3.5335120643432"],["7.1","4.8278388278388"],["7.1","4.9972527472527"],["7.1","4.8778998778999"],["7.1","4.7901678657074"],["7.1","3.5066929997806"],["7.3","3.4491690049644"],["7.2","3.5066929997806"],["7.2","3.6047823144597"],["7.2","3.3978311715926"],["7.1","3.3250104036621"],["7.1","3.3956651083723"],["7","4.8336358136721"],["7","3.5229276895944"],["7","3.3181063122924"],["7","3.6297757475083"],["7","3.7091024824952"],["7","3.7895079124214"],["7","3.8529865549923"],["7","5.771211620997"],["7.2","6.3590396507821"],["7.3","6.599093997735"]]]

tests/data/races/5b3e7cdbd7ad9

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
6.45,13.029819161216
2+
6.45,14.62389380531
3+
6.45,14.443283298499
4+
6.35,14.62389380531
5+
6.35,14.867005671817
6+
6.35,14.121307820918
7+
6.35,20.550148688835
8+
6.35,21.121144762434
9+
6.35,20.550148688835
10+
6.35,21.121144762434
11+
6.25,20.550148688835
12+
6.25,18.732612435488
13+
6.25,13.249261254997
14+
6.25,18.732612435488
15+
6.25,13.249261254997
16+
6.15,12.670046542553
17+
6.15,11.828522656735
18+
6.15,12.014974779319
19+
6.05,12.160657306956
20+
6.05,16.013235294118
21+
6.05,11.828522656735
22+
6.05,12.345804988662
23+
6.05,11.828522656735
24+
6.05,12.670046542553
25+
6.05,17.595337026777
26+
6.05,11.997953722651
27+
5.95,11.505358490566
28+
5.95,10.776615297611
29+
5.95,10.931163057508
30+
5.85,13.677193612058

tests/data/races/5b3e7ce0b968d

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
8.3,5.6874660879002
2+
8.3,6.418339663592
3+
11.05,6.5973229224763
4+
10.8,6.418339663592
5+
10.8,19.912642430819
6+
10.85,6.418339663592
7+
10.85,5.0379045996593
8+
10.85,5.0166098807496
9+
10.9,3.3888415672913
10+
10.9,3.5793972109762
11+
10.65,3.3888415672913
12+
10.65,4.5613577023499
13+
10.65,5.2294429708223
14+
10.65,5.1475195822454
15+
10.4,5.2294429708223
16+
10.4,6.418339663592
17+
10.4,5.0379045996593
18+
10.4,5.017461669506
19+
10.4,6.392295170917
20+
10.4,5.017461669506
21+
10.4,5.0338586030664
22+
10.4,4.4601788756388
23+
10.45,3.3847955706985
24+
10.45,5.0125638841567
25+
10.5,3.3847955706985
26+
10.5,3.5751237067027
27+
10.25,3.3847955706985
28+
10.25,4.4601788756388
29+
10.25,5.0338586030664
30+
10.25,5.1433855526545
31+
10,5.2252431476569
32+
10,5.2031388152078
33+
10.05,3.513483642794
34+
10.05,4.6297524314766
35+
10.05,5.2252431476569
36+
10.05,5.2031388152078
37+
10.1,3.513483642794

tests/data/races/5b3e7ce580912

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
12.9,4.3918918918919
2+
12.9,5.0469692993965
3+
12.9,15.944109157701
4+
12.9,18.118341642613
5+
12.9,18.606575047157
6+
12.9,18.118341642613
7+
12.9,19.390339792193
8+
12.9,18.118341642613
9+
12.9,18.606575047157
10+
12.65,18.118341642613
11+
12.65,24.65155301678
12+
16.9,25.564235468345
13+
16.9,24.65155301678
14+
16.9,19.870215827338
15+
16.9,21.410542635659
16+
16.9,22.07936
17+
16.9,21.394728682171
18+
16.9,21.409302325581
19+
16.9,22.0944
20+
16.4,21.409302325581
21+
16.5,5.8465496368039
22+
16.5,5.3368644067797
23+
16.5,5.8465496368039
24+
16.5,20.90102905569
25+
16.5,19.43078221722
26+
16.5,31.139842431064
27+
16.6,19.43078221722
28+
16.6,19.428531232414
29+
16.6,19.354248733821
30+
16.6,19.428531232414
31+
16.6,23.975347222222
32+
16.6,19.428531232414
33+
16.6,19.991024898668
34+
16.6,19.428531232414
35+
16.6,19.991024898668
36+
16.1,19.428531232414

tests/data/races/5b3e7ce887e32

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
6.98,14.039541547278
2+
6.98,15.622349570201
3+
6.98,16.194653465347
4+
6.98,16.15801980198
5+
6.98,17.070711297071
6+
6.73,16.22226640159
7+
6.73,16.551318458418
8+
6.48,16.786257971611
9+
6.48,22.155308172685
10+
6.48,23.768715409263
11+
7.73,24.481848184818
12+
7.48,23.768715409263
13+
7.48,17.070711297071
14+
7.23,16.15801980198
15+
7.23,15.172554853105
16+
7.23,15.460022735885
17+
6.98,15.664810904204
18+
6.98,20.242619697346
19+
6.98,15.172554853105
20+
6.98,16.15801980198
21+
6.98,22.035646772887
22+
6.98,23.768715409263
23+
6.98,22.155308172685
24+
7.48,22.773653363104
25+
7.23,22.155308172685
26+
5.98,15.697960754136
27+
5.98,15.492310613252
28+
5.88,15.697960754136
29+
5.88,22.155308172685
30+
5.88,23.768715409263
31+
7.73,24.481848184818
32+
7.48,23.768715409263
33+
5.98,22
34+
5.98,20.197524752475
35+
5.98,19.858359698223
36+
5.88,20.197524752475
37+
5.58,13.865420560748
38+
5.58,13.68864284516
39+
5.48,13.865420560748
40+
5.38,17.529108485499

tests/data/races/5b3e7cec8f30c

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
17,20.712796549245
2+
17,16.673321759259
3+
17,30.562210648148
4+
17,31.472884386174
5+
17,32.290736777744
6+
17,32.845612962397
7+
17,33.881425417849
8+
16.5,32.845612962397
9+
16.5,41.370042356565
10+
19.5,43.026832198638
11+
19.5,41.370042356565
12+
18,32.855657492355
13+
18,32.935168195719
14+
18,33.974132492114
15+
17.5,32.935168195719
16+
17.5,41.470157874471
17+
17.5,32.925099357994
18+
17.5,33.963418479975
19+
17.5,32.925099357994
20+
17.5,33.252002464572
21+
17,32.258218768679
22+
17,32.228332337119
23+
17.1,31.647638971907
24+
17.1,32.371446040966
25+
17.1,30.007100255609
26+
17.1,30.072706617438
27+
17.1,30.044305595001
28+
17.1,29.396388888889
29+
17.1,36.167805878332
30+
17.1,29.396388888889
31+
17.1,30.236285714286
32+
17.1,29.396388888889
33+
17.1,30.236285714286
34+
16.6,29.396388888889
35+
16.6,30.055950014201
36+
16.6,29.363762486127
37+
16.6,31.552474657126
38+
16.6,39.487686567164
39+
16.6,31.552474657126
40+
17.6,32.522126613399

tests/data/races/5b3e7cf0f2730

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
10.85,14.075599915056
2+
10.85,15.835209173922
3+
10.85,16.794594594595
4+
10.65,5.2938166311301
5+
10.65,15.915351812367
6+
10.65,16.262091503268
7+
10.4,16.499336870027
8+
10.4,16.477232537577
9+
10.45,5.4471706454465
10+
10.45,15.978116710875
11+
10.45,16.499336870027
12+
10.45,20.283423913043
13+
10.45,15.915351812367
14+
10.45,15.9
15+
10.45,26.131756756757
16+
10.25,15.9
17+
10.25,15.914712153518
18+
10.25,15.532946539577
19+
10.3,5.1931205967675
20+
10.3,5.3030046550994
21+
10.05,5.3781115879828
22+
10.05,5.5377984084881
23+
10.05,5.446507515473
24+
10.05,5.5380194518126
25+
10.05,16.068965517241
26+
10.05,16.088531618435
27+
10.05,16.383540711635
28+
10.05,15.869024230517
29+
10.05,16.383540711635
30+
10.05,16.749163133229
31+
10.1,5.8242355605889
32+
10.1,5.8221970554926
33+
10.1,5.8224235560589
34+
10.1,5.7997734994337
35+
10.15,4.0684031710079

tests/data/races/5b3e7cf4dbec4

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
7.7,5.127506195089
2+
7.7,3.9556830031283
3+
7.7,11.173096976017
4+
7.7,12.613138686131
5+
7.7,12.668230795968
6+
7.7,12.81072056239
7+
7.7,12.292242833052
8+
7.7,13.067945500179
9+
7.7,13.306498722161
10+
7.7,13.067945500179
11+
8.1,13.655488947171
12+
8.1,13.021257591997
13+
8.1,13.25809385231
14+
7.6,13.021257591997
15+
8.1,13.25809385231
16+
8,13.021257591997
17+
8,12.250924369748
18+
8,12.81072056239
19+
7.9,12.292242833052
20+
7.9,12.503087478559
21+
7.8,12.668230795968
22+
7.8,13.067945500179
23+
7.8,12.292242833052
24+
7.9,3.8731871838111
25+
7.9,4.0365553602812
26+
7.8,3.8731871838111
27+
7.8,3.9396226415094
28+
7.7,3.9916579770594
29+
7.7,4.1176048762998
30+
7.7,4.3865184653998
31+
7.7,4.5837392281753
32+
7.7,4.3708467309753
33+
8.2,4.450345580211
34+
8.1,4.3708467309753
35+
8.1,4.112268907563
36+
8.1,4.3001757469244
37+
8,4.1191919191919
38+
8,4.1897260273973
39+
7.9,4.2449687716863

0 commit comments

Comments
 (0)