From ca1e725b0dc9b10997897dd2ac6d44028601d9bb Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Mon, 19 Apr 2021 19:06:28 +0200 Subject: Init sources --- src/libc/math.c | 32 ++++++++++++++++++++++++++++++++ src/libc/math.h | 9 +++++++++ src/libc/stdio.c | 25 +++++++++++++++++++++++++ src/libc/stdio.h | 21 +++++++++++++++++++++ src/libc/string.c | 29 +++++++++++++++++++++++++++++ src/libc/string.h | 9 +++++++++ 6 files changed, 125 insertions(+) create mode 100644 src/libc/math.c create mode 100644 src/libc/math.h create mode 100644 src/libc/stdio.c create mode 100644 src/libc/stdio.h create mode 100644 src/libc/string.c create mode 100644 src/libc/string.h (limited to 'src/libc') diff --git a/src/libc/math.c b/src/libc/math.c new file mode 100644 index 0000000..80b1d3a --- /dev/null +++ b/src/libc/math.c @@ -0,0 +1,32 @@ +#include "math.h" + +int pow(int x,int n){ + if(n<0) + return -1; + else if(n==0) + return 1; + else if(n==1) + return x; + int ret=x; + for(int i=0;i<(n-1);i++) + ret*=x; + return ret; +} + +int max(int x,int y){ + if(x>y) + return x; + return y; +} + +int min(int x,int y){ + if(x=1) + { + len++; + } + + // Build string + int max_pow=len-1; + for(int j=0;j<=max_pow;j++){ + int cur_pow=pow(10,max_pow-j); + char digit=i/cur_pow; + a[j+neg]='0'+digit; + i=i-digit*cur_pow; // Remove first digits (most significant) + } + a[len+neg]='\0'; +} \ No newline at end of file diff --git a/src/libc/string.h b/src/libc/string.h new file mode 100644 index 0000000..c3d3614 --- /dev/null +++ b/src/libc/string.h @@ -0,0 +1,9 @@ +#ifndef STRING_H +#define STRING_H + +/** + * Convert int to char + */ +void itoa(int i, char *a); + +#endif \ No newline at end of file -- cgit v1.2.3