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