remove skeleton file
[calc.git] / format.c
index 4b9e6cf5ebeefce69d9b085a3118cf7676579da0..60cb1d477e6055281b578070daf7cae63bfc75d0 100644 (file)
--- a/format.c
+++ b/format.c
@@ -6,8 +6,8 @@
 
 /* global variables */
 
-int ibase = 10;
-int obase = 10;
+int _ibase = 10;
+int _obase = 10;
 
 #define DEFAULT_FORMAT "=> %.6g\n"
 char *_format = NULL;
@@ -70,8 +70,27 @@ void free_format ()
     }
 }
 
+void set_base (int in, int out)
+{
+    _ibase = in;
+    _obase = out;
+}
+
+char *show_base ()
+{
+    static char str[16] = {0};
+    sprintf (str, "%d/%d", _ibase, _obase);
+    return str;
+}
 
-char *itoa (unsigned long value)
+int get_ibase ()
+{
+    return _ibase;
+}
+
+/* multi base integer to ascii function */
+
+char *mbitoa (unsigned long value)
 {
     static char str[8 * sizeof (long) + 1];
 
@@ -79,9 +98,9 @@ char *itoa (unsigned long value)
     char buffer[8 * sizeof (long) + 1] = {0};
     int size = 0;
     do {
-        char x = value % obase;
+        char x = value % _obase;
         buffer[size++] = (x > 9) ? 'a' + x - 10 : '0' + x;
-        value /= obase;
+        value /= _obase;
     } while (value != 0);
 
     /* revert */
@@ -94,30 +113,23 @@ char *itoa (unsigned long value)
     return str;
 }
 
-/* vim: set ts=4 sw=4 et: */
-
-
-
-
 double print (double value)
 {
-    if (obase == 10) {
-        fprintf (stdout, _format ? _format : DEFAULT_FORMAT, value);
+    if (_obase == 10) {
+        printf (_format ? _format : DEFAULT_FORMAT, value);
     } else {
-        fprintf (stdout, "%s%s\n", (_prompt) ? _prompt : DEFAULT_PROMPT, itoa ((unsigned int)value));
+        printf ("%s%s\n", (_prompt) ? _prompt : DEFAULT_PROMPT, mbitoa ((unsigned int)value));
     }
-    fflush (stdout);
     return value;
 }
 
 double printl (double value)
 {
-    if (obase == 10) {
-        fprintf (stdout, _minform ? _minform : DEFAULT_MINFORM, value);
+    if (_obase == 10) {
+        printf (_minform ? _minform : DEFAULT_MINFORM, value);
     } else {
-        fprintf (stdout, "%s%s", (_prompt) ? _prompt : DEFAULT_PROMPT, itoa ((unsigned int)value));
+        printf ("%s", mbitoa ((unsigned int)value));
     }
-    fflush (stdout);
     return value;
 }