}
/* Misc */
+int residual(float num, float *state)
+{
+ float f = num + *state;
+ int i = (int)(f+0.5);
+ *state = f - i;
+ return i;
+}
+
int str2num(char *str, int def)
{
char *end = NULL;
return end && *end == '\0' ? num : def;
}
+int warn(char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ fprintf(stderr, "Warning: ");
+ vfprintf(stderr, fmt, ap);
+ fprintf(stderr, "\n");
+ va_end(ap);
+ return 0;
+}
+
int error(char *fmt, ...)
{
va_list ap;