function VC3 = VC_nasob(VC1,VC2 )
% function VC3 = VC_nasob(VC1,VC2 )
% Nasobeni velkych cisel 
% VC   - struktura k ulozeni velkeho cisla
% VC.z - znamenko (0 pro kladne cislo, nenulova hodnota pro zaporne cislo)
% VC.x - pole uint64
% Cislo je ulozena po 9 cifrach, 
% nejmensi mocniny jsou na zacatku pole.

vc1=VC1.x;
vc2=VC2.x;
d1=length(vc1);
d2=length(vc2);
h=1e9;    % hranice pro 9 cifer

if d1==1 & vc1==0
    VC3=VC1;  
    return;
end
if d2==1 & vc2==0
    VC3=VC2;
    return;
end

vc3=uint64(0);

for k1=1:d1
    pc=zeros(1,d2,'uint64'); % pomocne cislo pro mezivysledky
    prenos=uint64(0);
    for k2=1:d2
        a=uint64(vc1(k1))*uint64(vc2(k2))+prenos;
        b=mod(a,h);
        prenos=(a-b)/h;
        pc(k2)=uint64(b);
    end
    if prenos>0
        pc=[pc,uint64(prenos)];
    end
    pc=[zeros(1,k1-1,'uint64') pc];
    vc3=VC_plus(vc3,pc);
end

VC3=struct('x',vc3,'z',0);
if VC1.z+VC2.z==1
    VC3.z=1;
end

end

