]> git.lyx.org Git - lyx.git/blobdiff - src/support/lyxlib.h
lyxserver cleanup patch + andre's small patches
[lyx.git] / src / support / lyxlib.h
index 4df4e58557e05910a54054cc2845f57eaab82384..8554ca0ec8e952b32805c2f99c01be4c15a6d584 100644 (file)
@@ -5,7 +5,7 @@
  *           LyX, The Document Processor
  *        
  *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2000 The LyX Team.
+ *           Copyright 1995-2001 The LyX Team.
  *
  * ====================================================== */
 
@@ -53,5 +53,23 @@ int atoi(string const & nstr);
 string const tempName(string const & dir = string(),
                      string const & mask = string());
 
+
+/** Returns true if var is approximately equal to number with allowed error
+ * of 'error'.
+ *
+ * Reason: A float can be very close to the number, yet still need not be 
+ * exactly equal, you can have exp(-10) which is very close to zero but not
+ * zero. If you only need an approximate equality (you usually do), use this
+ * template.
+ *
+ * Usage: if (float_equal(var, number, 0.0001)) { }
+ * 
+ * This will check if 'var' is approx. equal to 'number' with error of 1/1000
+ */
+inline bool float_equal(float var, float number, float error)
+{
+       return (number - error <= var && var <= number + error);
+}
+
 } // namespace lyx
 #endif /* LYX_LIB_H */