84 lines
2.2 KiB
Matlab
Executable File
84 lines
2.2 KiB
Matlab
Executable File
%%
|
|
%% Run this script in Matlab command window
|
|
%%
|
|
|
|
function Installmex
|
|
|
|
curdir = pwd;
|
|
fprintf(' current directory is: %s\n',curdir);
|
|
%%
|
|
%% generate mex files in Mexfun
|
|
%%
|
|
if strcmp(computer,'PCWIN64') | strcmp(computer,'GLNXA64')
|
|
computer_model = 64;
|
|
else
|
|
computer_model = 32;
|
|
end
|
|
matlabversion = sscanf(version,'%f');
|
|
matlabversion = matlabversion(1);
|
|
fsp = filesep;
|
|
%%
|
|
%%
|
|
%%
|
|
src = [curdir,fsp,'Solver',fsp,'Mexfun'];
|
|
eval(['cd ','Solver',fsp,'Mexfun']);
|
|
fprintf ('\n Now compiling the mexFunctions in:\n');
|
|
fprintf (' %s\n',src);
|
|
|
|
fname{1} = 'mexProd2';
|
|
fname{2} = 'mexProd2nz';
|
|
fname{3} = 'mexinprod';
|
|
fname{4} = 'mexmat';
|
|
fname{5} = 'mexsmat';
|
|
fname{6} = 'mexsvec';
|
|
fname{7} = 'mexschur';
|
|
fname{8} = 'mexqops';
|
|
fname{9} = 'mexexpand';
|
|
fname{10} = 'mexskron';
|
|
fname{11} = 'mexnnz';
|
|
fname{12} = 'mexschurfun';
|
|
fname{13} = 'mexMatvec';
|
|
fname{14} = 'mextriang';
|
|
fname{15} = 'mextriangsp';
|
|
|
|
if (matlabversion < 7.3)
|
|
mexcmd = 'mex -O ';
|
|
else
|
|
mexcmd = 'mex -O -largeArrayDims ';
|
|
end
|
|
for k = 1:length(fname)
|
|
cmd([mexcmd,fname{k},'.c']);
|
|
end
|
|
cd ..
|
|
cd ..
|
|
%%
|
|
%% generate mex files in spchol
|
|
%%
|
|
if (matlabversion < 7.3)
|
|
clear fname
|
|
src = [curdir,fsp,'Linsysolver',fsp,'spchol'];
|
|
eval(['cd ','Linsysolver',fsp,'spchol']);
|
|
fprintf ('\n Now compiling the mexFunctions in:\n');
|
|
fprintf (' %s\n',src);
|
|
|
|
fname{1} = 'mexordmmd.c ordmmd.c';
|
|
fname{2} = 'mexsymbfct.c symbfct.c';
|
|
fname{3} = 'choltmpsiz.c';
|
|
fname{4} = 'cholsplit.c';
|
|
fname{5} = 'mexsparchol.c sparchol2.c sdmauxFill.c sdmauxScalarmul.c';
|
|
fname{6} = 'mexfwblkslv.c sdmauxScalarmul.c';
|
|
fname{7} = 'mexbwblkslv.c sdmauxFill.c sdmauxRdot.c';
|
|
mexcmd = 'mex -O ';
|
|
for k = 1:length(fname)
|
|
cmd([mexcmd,fname{k}]);
|
|
end
|
|
cd ..
|
|
cd ..
|
|
end
|
|
%%***********************************************
|
|
function cmd(s)
|
|
|
|
fprintf(' %s\n',s);
|
|
eval(s);
|
|
%%***********************************************
|