Ryo Od
/
FloatingPointTest
floating point test
main.cpp
- Committer:
- ryood
- Date:
- 2017-06-01
- Revision:
- 0:1d7e5ce49ede
- Child:
- 1:48013e8906f5
File content as of revision 0:1d7e5ce49ede:
#include "mbed.h" #define LOOP_N (10000) float buffer[LOOP_N]; int main() { Timer t; printf("\r\nFloating Point Test\r\n"); printf("op\ttotal\t1-p\r\n"); printf("-------------------------------\r\n"); // div t.start(); for (int i = 0; i < LOOP_N; i++) { buffer[i] = (float)i / LOOP_N; } t.stop(); int elapse = t.read_us(); printf("div\t%d\t%f\r\n", elapse, (float)elapse / LOOP_N); // sinf t.reset(); t.start(); for (int i = 0; i < LOOP_N; i++) { buffer[i] = sinf((float)i / LOOP_N); } t.stop(); elapse = t.read_us(); printf("sinf\t%d\t%f\r\n", elapse, (float)elapse / LOOP_N); // cosf t.reset(); t.start(); for (int i = 0; i < LOOP_N; i++) { buffer[i] = cosf((float)i / LOOP_N); } t.stop(); elapse = t.read_us(); printf("cosf\t%d\t%f\r\n", elapse, (float)elapse / LOOP_N); // expf t.reset(); t.start(); for (int i = 0; i < LOOP_N; i++) { buffer[i] = expf((float)i / LOOP_N); } t.stop(); elapse = t.read_us(); printf("expf\t%d\t%f\r\n", elapse, (float)elapse / LOOP_N); // logf t.reset(); t.start(); for (int i = 0; i < LOOP_N; i++) { buffer[i] = logf((float)i / LOOP_N); } t.stop(); elapse = t.read_us(); printf("logf\t%d\t%f\r\n", elapse, (float)elapse / LOOP_N); // sqrtf t.reset(); t.start(); for (int i = 0; i < LOOP_N; i++) { buffer[i] = sqrtf((float)i / LOOP_N); } t.stop(); elapse = t.read_us(); printf("sqrtf\t%d\t%f\r\n", elapse, (float)elapse / LOOP_N); printf("\r\nEnd.\r\n"); }