4b9e6cf5ebeefce69d9b085a3118cf7676579da0
12 #define DEFAULT_FORMAT "=> %.6g\n"
14 #define DEFAULT_MINFORM "%.6g"
15 char *_minform
= NULL
;
19 #define DEFAULT_PROMPT "=> "
24 void set_precision (int precision
)
26 _precision
= precision
;
34 void set_prompt (char *prompt
)
39 _prompt
= strdup (prompt
);
44 char buffer
[128] = {0};
45 sprintf (buffer
, "%s%%.%dg\n", _prompt
? _prompt
: DEFAULT_PROMPT
, _precision
);
49 _format
= strdup (buffer
);
50 sprintf (buffer
, "%%.%dg", _precision
);
54 _minform
= strdup (buffer
);
74 char *itoa (unsigned long value
)
76 static char str
[8 * sizeof (long) + 1];
79 char buffer
[8 * sizeof (long) + 1] = {0};
82 char x
= value
% obase
;
83 buffer
[size
++] = (x
> 9) ? 'a' + x
- 10 : '0' + x
;
89 for (i
= 0; i
< size
; i
++) {
90 str
[i
] = buffer
[size
- i
- 1];
97 /* vim: set ts=4 sw=4 et: */
102 double print (double value
)
105 fprintf (stdout
, _format
? _format
: DEFAULT_FORMAT
, value
);
107 fprintf (stdout
, "%s%s\n", (_prompt
) ? _prompt
: DEFAULT_PROMPT
, itoa ((unsigned int)value
));
113 double printl (double value
)
116 fprintf (stdout
, _minform
? _minform
: DEFAULT_MINFORM
, value
);
118 fprintf (stdout
, "%s%s", (_prompt
) ? _prompt
: DEFAULT_PROMPT
, itoa ((unsigned int)value
));
124 /* vim: set ts=4 sw=4 et: */