RISC-V/V003/math/main.cpp
2024-05-07 11:46:49 +02:00

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();
}