]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/misc.cc
Run `make grand-replace'.
[lilypond.git] / lily / misc.cc
index e7c3063df234c6ce79bca6185bf9358e837e401b..856f34038e433a5c5d98c8453d17bc79182169a2 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
   Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
@@ -53,5 +53,36 @@ peak_around (Real epsilon,  Real threshold, Real x)
 {
   if (x < 0)
     return 1.0;
-  return max (- epsilon * (x - threshold) / ((x + epsilon)  * threshold), 0.0);
+  return max (- epsilon * (x - threshold) / ((x + epsilon) * threshold), 0.0);
 }
+
+/*
+  0 at 0,  1 at standard_x, and increasing thereafter. 
+ */
+Real
+convex_amplifier (Real standard_x, Real increase_factor, Real x)
+{
+  return (exp (increase_factor * x / standard_x) - 1.0) / (exp (increase_factor) - 1.0); 
+}
+
+string
+camel_case_to_lisp_identifier (string in)
+{
+  vector<char> out;
+  
+  /* don't add '-' before first character */
+  out.push_back (char (tolower (in[0])));
+    
+  for (size_t inpos = 1; inpos < in.size (); inpos++)
+    {
+      if (isupper (in[inpos]))
+       out.push_back ('-');
+      out.push_back ( char(tolower (in[inpos])));
+    }
+  
+  string result (&out[0], out.size ());
+  replace_all (&result, '_', '-');
+
+  return result;
+}
+