Files
failnix/targets/wasm-tacle/kernel/deg2rad/generated/modified_sources/default/deg2rad.c

90 lines
1.6 KiB
C

/*
This program is part of the TACLeBench benchmark suite.
Version V 1.9
Name: deg2rad
Author: unknown
Function: deg2rad performs conversion of degree to radiant
Source: MiBench
http://wwweb.eecs.umich.edu/mibench
Original name: basicmath_small
Changes: no major functional changes
License: this code is FREE with no restrictions
*/
#include "pi.h"
// Wasm loop bounds
__attribute__((import_module("__pragma"), import_name("loopbound"))) extern void
__pragma_loopbound(unsigned int min_bound, unsigned int max_bound);
#define deg2rad(d) ((d) * PI / 180)
/*
Forward declaration of functions
*/
void deg2rad_init(void);
__attribute__((noinline)) __attribute__((export_name("entrypoint"))) void
deg2rad_main(void);
int deg2rad_return(void);
__attribute__((noinline)) __attribute__((export_name("main"))) int main(void);
/*
Declaration of global variables
*/
float deg2rad_X, deg2rad_Y;
/*
Initialization function
*/
void
deg2rad_init(void) {
deg2rad_X = 0;
deg2rad_Y = 0;
}
/*
Return function
*/
int
deg2rad_return(void) {
int temp = deg2rad_Y;
if (temp == 1133)
return 0;
else
return -1;
}
/*
Main functions
*/
__attribute__((noinline)) __attribute__((export_name("entrypoint"))) void
deg2rad_main(void) {
/* convert some rads to degrees */
__pragma_loopbound(361, 361);
for (deg2rad_X = 0.0f; deg2rad_X <= 360.0f; deg2rad_X += 1.0f)
deg2rad_Y += deg2rad(deg2rad_X);
}
__attribute__((noinline)) __attribute__((export_name("main"))) int
main(void) {
deg2rad_init();
deg2rad_main();
return deg2rad_return();
}