From 50bd65efa982ae4d8d1fe3a5bc887fb0b824fd61 Mon Sep 17 00:00:00 2001
From: Amaury Johnan <amjohnen@gmail.com>
Date: Thu, 31 Jul 2014 13:07:27 +0000
Subject: [PATCH] fix bug

---
 Numeric/bezierBasis.cpp      | 4 ++--
 Numeric/pointsGenerators.cpp | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Numeric/bezierBasis.cpp b/Numeric/bezierBasis.cpp
index edf3952873..92a25a4116 100644
--- a/Numeric/bezierBasis.cpp
+++ b/Numeric/bezierBasis.cpp
@@ -362,7 +362,7 @@ fullMatrix<double> generateBez2LagMatrixPyramid
 {
   if(exponent.size1() != point.size1() || exponent.size2() != point.size2() ||
       exponent.size2() != 3){
-    Msg::Fatal("Wrong sizes for bez2lag matrix generation %d %d -- %d %d",
+    Msg::Fatal("Wrong sizes for pyramid's bez2lag matrix generation %d %d -- %d %d",
       exponent.size1(),point.size1(),
       exponent.size2(),point.size2());
     return fullMatrix<double>(1, 1);
@@ -518,7 +518,7 @@ void bezierBasis::_construct(int parentType, int p)
 
   if (parentType == TYPE_PYR) {
     _numLagCoeff = p == 0 ? 4 : 8;
-    _exponents = gmshGenerateMonomialsPyramidGeneral(false, 2, _order);
+    _exponents = gmshGenerateMonomialsPyramidGeneral(false, _order+2, _order);
 
     subPoints = generateSubPointsPyr(_order);
     _numDivisions = static_cast<int>(subPoints.size());
diff --git a/Numeric/pointsGenerators.cpp b/Numeric/pointsGenerators.cpp
index f060da4ead..485bf98575 100644
--- a/Numeric/pointsGenerators.cpp
+++ b/Numeric/pointsGenerators.cpp
@@ -906,7 +906,7 @@ fullMatrix<double> gmshGenerateMonomialsPyramidGeneral(
     }
 
     // Between bottom & top
-    for (int k = nk-1; k > 0; ++k) {
+    for (int k = nk-1; k > 0; --k) {
       int currentnij = pyr ? k+nij : nij;
       for (int i = 0; i <= currentnij; ++i) {
         for (int j = 0; j <= currentnij; ++j, ++index) {
-- 
GitLab