25 lines
1,008 B
C++
25 lines
1,008 B
C++
#include "compute.h"
|
|
extern "C" int terminate (); // needed only for simavr
|
|
////////////////////////////////////////////////////////////////////////
|
|
/* DEMO pro otestování výpočtů v jednoduché přesnosti float.
|
|
* Funkce: sin, cos, sqrt, násobení matice s vektorem
|
|
* Pro srovnání jsem přidal cílové platformy stm32f051, avr, linux.
|
|
* AVR používá simavr (https://github.com/buserror/simavr), na linuxu
|
|
* se to lépe ladí.
|
|
* CH32V003 má kód nejdelší, stm32f051 o málo kratší, avr asi poloviční.
|
|
* I tak nějaké rozumné výpočty se do těch 16KiB mohou vejít.
|
|
* Všechny platformy dávají stejné výsledky.
|
|
*
|
|
* Toto je v podstatě samostatný projekt, jsou zde kopie všech potřebných
|
|
* souborů. Jinak by v tom byl už velký guláš.
|
|
* */
|
|
////////////////////////////////////////////////////////////////////////
|
|
static Compute comp;
|
|
int main () {
|
|
comp.multiply_test();
|
|
comp.sincos_test ();
|
|
for (;;) {
|
|
if (comp.pass()) break;
|
|
}
|
|
return terminate();
|
|
}
|