diff --git a/Numeric/pointsGenerators.cpp b/Numeric/pointsGenerators.cpp
index 2b6365b1273740875c05df2e13783e783449b4ea..20ff853be9a7ab268b727ef4d781de09f336fa0f 100644
--- a/Numeric/pointsGenerators.cpp
+++ b/Numeric/pointsGenerators.cpp
@@ -11,6 +11,22 @@
 #include "MPrism.h"
 #include "MPyramid.h"
 
+void getDoubleMonomials(fullMatrix<double>& doubleMon,
+                        fullMatrix<int> (*genIntMonomials)(int, bool),
+                        int order, bool serendip )
+{
+  fullMatrix<int> mon;
+  mon = (*genIntMonomials)(order, serendip);
+
+  doubleMon.resize(mon.size1(), mon.size2());
+
+  for (int i = 0; i < mon.size1(); ++i) {
+    for (int j = 0; j < mon.size2(); ++j) {
+      doubleMon(i, j) = static_cast<double>(mon(i, j));
+    }
+  }
+}
+
 /* --- Lines --- */
 
 fullMatrix<double> gmshGeneratePointsLine(int order)