]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/misc.hh
* lily/object-key-dumper-scheme.cc: new file.
[lilypond.git] / lily / include / misc.hh
index 35a10dfaf94e264457525fe83d2d6c58f69b378c..72da2c90e969341fd16cdd30fbea94aacd0c0179 100644 (file)
@@ -1,34 +1,41 @@
+/*
+  misc.hh -- declare miscellaneous functions.
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+*/
+
 #ifndef MISC_HH
 #define MISC_HH
 
-#include "real.hh"
-#include "varray.hh"
+#include <cstdlib>
+
+#include "array.hh"
 #include "interval.hh"
 
-double log_2(double x) ;
-int intlog2(int d);
-#if ! defined(_ABS_)
-inline int
-abs (int i){
-    return (i < 0)?-i:i;
-}
-#endif
+double log_2 (double x) ;
+int intlog2 (int d);
+
 inline int
-sign (int i) {
-    if (i<0) return -1;
-    else if (i) return 1;
-    else return 0;
+sign (int i)
+{
+  if (i<0)
+    return -1;
+  else if (i)
+    return 1;
+  else return 0;
 }
 
-#ifndef STANDALONE
-#include "lily-proto.hh"
-Interval itemlist_width (const Array<Item*> &its);
-#endif
+Array<String> split_string (String s, char c);
 
-int get_lower_bound (Array<Real> const& positions, Real x);
-Slice get_bounds_slice (Array<Real> const& positions, Real x);
-Interval get_bounds_iv (Array<Real> const& positions, Real x);
-Interval quantise_iv (Array<Real> const& positions, Real period, Real x);
+inline Real
+linear_interpolate (Real x, Real x1, Real x2,  Real y1, Real  y2)
+{
+  return (x2 - x) / (x2 - x1) * y1 +
+    (x - x1) / (x2 - x1) * y2 ;
+}
 
 #endif