Real directed_round (Real f, Direction d);
Real peak_around (Real epsilon, Real threshold, Real x);
+string camel_case_to_lisp_identifier (string in);
+
#endif
return 1.0;
return max (- epsilon * (x - threshold) / ((x + epsilon) * threshold), 0.0);
}
+
+
+string
+camel_case_to_lisp_identifier (string in)
+{
+ vector<char> out;
+
+ /* don't add '-' before first character */
+ out.push_back (tolower (in[0]));
+
+ for (size_t inpos = 1; inpos < in.size (); inpos++)
+ {
+ if (isupper (in[inpos]))
+ out.push_back ('-');
+ out.push_back (tolower (in[inpos]));
+ }
+
+ string result (&out[0], out.size ());
+ replace_all (result, '_', '-');
+
+ return result;
+}
+