function [spli fspli]=spligenPF(type_gen,Par,N,Ll,rho)
%design of generators of the (even-order) spline  spaces

 M=N*2^Ll;
 [u1,~]=juviP(Par,N);
   [u2,~]=juviP(2*Par,N);
n=0:N-1;
if type_gen==4

 
   y=1./sqrt(u2);
    x=real(ifft(u1.*y));
    
 %[spli]=interspla(x,Par,Ll,BSUV); 
elseif type_gen==1
    x=zeros(1,N);
     y=1./u1;
    x(1)=1;  
% [spli]=interspla(x,Par,Ll,BSUV);    
elseif type_gen==5
    [u1,~]=juviP(Par,N);
    y=1;
    x=real(ifft(u1));
% [spli]=interspla(x,Par,Ll,BSUV);    
elseif type_gen==2
    y=1./u2;
    x=real(ifft(u1./u2));
    
 %[spli]=interspla(x,Par,Ll,BSUV);    
elseif type_gen==3
     [u1,~]=juviP(Par,N);
   [u2,~]=juviP(2*Par,N);
   u1./u2;
    x=real(ifft(u1.^2./u2));
    
 elseif type_gen==6
   
   si=sin(pi*n/N);
   W=(2*si).^Par;
   y=1./(rho*W+u1);
    x=real(ifft(u1./(rho*W+u1)));
 
elseif type_gen==7
  
   u2=circshift(u2,N/4);
   n=0:N/2-1;
   si=sin(2*pi*n/N);
   W=(si).^Par;
   y=W.*u1;
    x=real(ifft(u1.*W.*u1));
 
end
 [spli]=intersplliPt(x,Par,Ll,2);  %subdivision of the spline 
[e r]=max(abs(spli));
if type_gen==7
spli=circshift(spli',M/4-r)';
spl=circshift(spli',M/4+1)';
else
    spli=circshift(spli',M/2-r)';
spl=circshift(spli',M/2+1)';
end
n=0:N-1;a=((sin(pi*n/N))./(pi*n/N)).^Par.*y;
a1=fliplr(a(1:end));
fspli=[a1,a];
% Copyright (c) 2011. Valery A. Zheludev
