Yulou Yang
/
c_and_asm_mult
hardware multiply muls vs c multiply
Fork of c_and_asm by
main.cpp
- Committer:
- yangyulounk
- Date:
- 2016-04-26
- Revision:
- 3:b81f1f75db93
- Parent:
- 2:9d258b4b0d88
File content as of revision 3:b81f1f75db93:
#include "mbed.h" #include <stdio.h> /* printf, fgets */ #include <stdlib.h> /* atoi */ Timer t; Serial pc(USBTX, USBRX); extern "C" int mult_asm(int a, int b); extern "C" int mult_c(int c, int d); int main() { for (int k=20;k<300;k+=10){ int COUNT=k; int A [COUNT], B[COUNT],C[COUNT]; for (int i=0;i<COUNT;i++){ A[i]=(int)rand()/ 1000000; B[i]=(int)rand()/ 1000000; } printf("Assembler: "); printf("%d \n",k); t.start(); for (int i=0;i<COUNT;i++){ C[i]=mult_asm(A[i], B[i]); } t.stop(); for (int i=0;i<COUNT;i++){ printf("%d ",C[i]); } printf("\nThe time taken was %f seconds\n", t.read()); t.reset(); printf("C :"); t.start(); for (int i=0;i<COUNT;i++){ C[i]=mult_c(A[i], B[i]); } t.stop(); for (int i=0;i<COUNT;i++){ printf("%d ",C[i]); } printf("\nThe time taken was %f seconds\n\n", t.read()); } }