Tohle je muj zdrojak k reseni science challenge, v src je několik podsložek.
tady jsou všechny grafy, graph1.svg je z testu, graph.svg se vytvoří při normálním spuštění. Pardon, graph1 už byl vylepšen, postnu co nejdřív.
tady je c++ kód pro arduino, který napsal Kryštof a já ho upravil.
Potom jsou tu už samostatný soubory:
Tady se odehrává všechno přesnášení dat rozdělené na několik šikovných funkcí. Všude (i tady) používám f32, ale překvapivě ne kvůli strachu o místo, ale protože arduino přímo nepodporuje double, a nechce se mi převádět f32 na f64 až po přenosu, bylo by to namáhavý a matoucí.
Původně byl součástí arduino.rs, ale potom zabíral moc místa a tak jsem ho přesunul do zvláštní složky, a i když je teď mnohem menší, nechce se mi ho dávat zpět.
Většinu této složky tvoří budování matematiky pro typ Vector, což je wraper pro Vec. Na konci je potom funkce nedler_mead, což je implementace matematické metody stejného jména pro minimalizaci hodnot nějaké křivky.
Tady už jen zavolám funkci z arduino.rs a vypíšu výsledek. Dole je taky testovací funkce, mám v plánu jí přesunout do samostatné složky.
V endian_traits.rs už je jen tvorba a implementace trait pro převádění z bytů na čísla, protože normálně má každé číslo vlastní metodu (takže nemůžu psát genericky).