diff --git a/alib2std/src/extensions/compare.hpp b/alib2std/src/extensions/compare.hpp
index 821e01ff6b34ef9577aa77b9d4c2fffab6defce1..e5096ff5d2b12c4b7cec83babb48953dd566e28d 100644
--- a/alib2std/src/extensions/compare.hpp
+++ b/alib2std/src/extensions/compare.hpp
@@ -131,6 +131,18 @@ struct compare<float> {
 	}
 };
 
+template<>
+struct compare<double> {
+	int operator()(double first, double second) const {
+		if ( first < second )
+			return -1;
+		else if ( first > second )
+			return 1;
+		else
+			return 0;
+	}
+};
+
 template<>
 struct compare<long double> {
 	int operator()(long double first, long double second) const {