function [rp] = wshift3(char,r,idec)
%
% Shift avec condition aux limites de Neumann
% Copyright G. Allaire, Octobre 2002
%
[m,n] = size(r) ;
%
if m == 1
if char == '1D'
   if idec == 1
      rp(1:n-1) = r(2:n) ;
      rp(n) = r(n) ;
   elseif idec == -1
      rp(2:n) = r(1:n-1) ;
      rp(1) = r(1) ;
   else 
      'erreur dans la routine wshift3.m'
      'valeur inconnue de idec '
      idec
      return
   end
else
   'erreur dans la routine wshift3.m'
   'chaine de caracteres non compatible avec la dimension de l argument'
   char , m
   return
end
else
if char == '2D'
   if idec == [0 +1]
      rp(:,1:n-1) = r(:,2:n) ;
      rp(:,n) = r(:,n) ;
   elseif idec == [0 -1]
      rp(:,2:n) = r(:,1:n-1) ;
      rp(:,1) = r(:,1) ;
   else 
      'erreur dans la routine wshift3.m'
      'valeur inconnue de idec '
      idec
      return
   end
else
   'erreur dans la routine wshift3.m'
   'chaine de caracteres non compatible avec la dimension de l argument'
   char , m
   return
end
end

