summaryrefslogtreecommitdiff
path: root/src/c/elementaryFunctions/radix_conversions/dec2base
diff options
context:
space:
mode:
Diffstat (limited to 'src/c/elementaryFunctions/radix_conversions/dec2base')
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2base/ddec2basea.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2base/ddec2bases.c71
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2base/sdec2basea.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2base/sdec2bases.c45
4 files changed, 158 insertions, 0 deletions
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2basea.c b/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2basea.c
new file mode 100644
index 00000000..4de34f00
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2basea.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2base.h"
+
+void ddec2basea(double* in,int size,int base,int n,char* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ ddec2bases(in[i],base,n,&(out[i*3]));
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2bases.c b/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2bases.c
new file mode 100644
index 00000000..dae7bdcc
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2bases.c
@@ -0,0 +1,71 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include <math.h>
+#include "dec2base.h"
+#include <stdio.h>
+
+void ddec2bases(double in,int base,int n,char* out)
+{
+ int quot;
+ //printf("%d\n",n);
+ int i=0,j=0,k=0,tmp,temp;
+ quot=(int)in;
+ //printf("%d",quot);
+ while(quot!=0)
+ {
+ temp=quot%base;
+ //printf("%d\n",temp);
+ if(temp < 10)
+ { temp = temp + 48;
+ //printf("%d\n",temp);
+ }
+ else
+ {
+ temp = temp + 55;
+ //printf("%d\n",temp);
+ }
+ out[i++]=temp;
+ //printf("%c\n",out[i-1]);
+ quot = quot/base;
+ }
+//printf("%d\n",i);
+ if(n>i-1)
+ {
+ for(j=i;j<=n;j++)
+ { out[j]='0';
+ //printf(" %c %c \n",out[j],out[i]);
+ }
+ }
+ if(n==0)
+ {
+ j=i-1;
+ n=i;
+ }
+ else
+ j=n-1;
+
+ out[n]='\0';
+ //for(k=0;k<=n;k++)
+ //printf("%c\n",out[k]);
+ i=0;
+ while(i<j)
+ {
+ tmp=out[i];
+ //printf("%c\n",out[i]);
+ out[i]=out[j];
+ out[j]=tmp;
+ //printf("%c\n",out[j]);
+ i++;
+ j--;
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2base/sdec2basea.c b/src/c/elementaryFunctions/radix_conversions/dec2base/sdec2basea.c
new file mode 100644
index 00000000..dc4d8590
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2base/sdec2basea.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2base.h"
+
+void sdec2basea(float* in,int size,int base,int n,char* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ sdec2bases(in[i],base,n,&(out[i*3]));
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2base/sdec2bases.c b/src/c/elementaryFunctions/radix_conversions/dec2base/sdec2bases.c
new file mode 100644
index 00000000..a627c052
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2base/sdec2bases.c
@@ -0,0 +1,45 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include <math.h>
+#include "dec2base.h"
+#include <stdio.h>
+
+void sdec2bases(float in,int base,int n,char* out)
+{
+ int quot;
+ int i=0,j=0,k=0,tmp,temp;
+ quot=(int)in;
+ while(quot!=0)
+ {
+ temp=quot%base;
+ if(temp < 10)
+ temp = temp + 48;
+ else
+ temp = temp + 55;
+ out[i++]=temp;
+ quot = quot/base;
+ }
+ out[i]='\0';
+ j=i-1;
+ i=0;
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+
+
+}