Skip to content
Snippets Groups Projects
Verified Commit e046817d authored by Sébastien Villemot's avatar Sébastien Villemot
Browse files

stack_solve_algo={2,3} now work in unstable without block nor bytecode

By the way:
– no longer hardcode unavailable algorithms in the LaTeX templates, but
  rather handle them with a special value (-10) as for the other types of
  failures
– no longer hardcode the possible values of stack_solve_algo in
  run_simulations.m, but rather use the vector of values passed as argument
parent d6f26007
Branches
Tags
1 merge request!1stack_solve_algo={2,3} now work in unstable without block nor bytecode
...@@ -19,6 +19,10 @@ function run_simulations(model, stack_solve_algo, static_solve_algo, niter, ccri ...@@ -19,6 +19,10 @@ function run_simulations(model, stack_solve_algo, static_solve_algo, niter, ccri
global oo_ global oo_
dynare_config;
tmp = strsplit(dynare_version, {'.','-'});
dynare_version_major = str2num(tmp{1});
if niter==0 if niter==0
error('Fourth argument (number of iterations) cannot be equal to zero.') error('Fourth argument (number of iterations) cannot be equal to zero.')
end end
...@@ -62,7 +66,13 @@ end ...@@ -62,7 +66,13 @@ end
% %
% Matlab % Matlab
% %
for algo = [0, 1] for algo = stack_solve_algo
if ismember(algo, [4 5]) || (ismember(algo, [2 3]) && dynare_version_major <= 6)
% These algorithms are not available
Timings.MATLAB_preprocessing(id(stack_solve_algo==algo), 1) = -10;
Timings.MATLAB_computing(id(stack_solve_algo==algo), 1) = -10;
continue
end
if algo<7 if algo<7
if isnan(Timings.MATLAB_computing(id(stack_solve_algo==algo), 1)) if isnan(Timings.MATLAB_computing(id(stack_solve_algo==algo), 1))
% Try to simulate the model if this configuration has not been tried before (with or without success). % Try to simulate the model if this configuration has not been tried before (with or without success).
...@@ -111,15 +121,16 @@ for algo = [0, 1] ...@@ -111,15 +121,16 @@ for algo = [0, 1]
end end
end end
end end
for algo = [2, 3, 4, 5]
% These algorithms are not available
Timings.MATLAB_preprocessing(id(stack_solve_algo==algo), 1) = -10;
Timings.MATLAB_computing(id(stack_solve_algo==algo), 1) = -10;
end
% %
% use_dll % use_dll
% %
for algo = [0, 1] for algo = stack_solve_algo
if ismember(algo, [4 5]) || (ismember(algo, [2 3]) && dynare_version_major <= 6)
% These algorithms are not available
Timings.USE_DLL_preprocessing(id(stack_solve_algo==algo), 1) = -10;
Timings.USE_DLL_computing(id(stack_solve_algo==algo), 1) = -10;
continue
end
if algo<7 if algo<7
try try
if isnan(Timings.USE_DLL_computing(id(stack_solve_algo==algo), 1)) if isnan(Timings.USE_DLL_computing(id(stack_solve_algo==algo), 1))
...@@ -166,15 +177,10 @@ for algo = [0, 1] ...@@ -166,15 +177,10 @@ for algo = [0, 1]
end end
end end
end end
for algo = [2, 3, 4, 5]
% These algorithms are not available
Timings.USE_DLL_preprocessing(id(stack_solve_algo==algo), 1) = -10;
Timings.USE_DLL_computing(id(stack_solve_algo==algo), 1) = -10;
end
% %
% Bytecode % Bytecode
% %
for algo = [0, 1, 2, 3, 4, 5] for algo = stack_solve_algo
try try
if isnan(Timings.BYTECODE_computing(id(stack_solve_algo==algo), 1)) if isnan(Timings.BYTECODE_computing(id(stack_solve_algo==algo), 1))
disp_title(sprintf('| BYTECODE (solve_algo=%u, no blocks, model=%s) |', algo, model)); disp_title(sprintf('| BYTECODE (solve_algo=%u, no blocks, model=%s) |', algo, model));
...@@ -200,7 +206,13 @@ end ...@@ -200,7 +206,13 @@ end
% Matlab with blocks % Matlab with blocks
% %
for mfs = 0:3 for mfs = 0:3
for algo = [0, 1, 2, 3, 4] for algo = stack_solve_algo
if algo == 5
% Algorithm not available
Timings.MATLAB_WITH_BLOCKS_preprocessing(id(stack_solve_algo==algo), mfs+1) = -10;
Timings.MATLAB_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1) = -10;
continue
end
if isnan(Timings.MATLAB_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)) if isnan(Timings.MATLAB_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))
try try
disp_title(sprintf('| MATLAB (solve_algo=%u, with blocks, mfs=%u, model=%s) |', algo, mfs, model)); disp_title(sprintf('| MATLAB (solve_algo=%u, with blocks, mfs=%u, model=%s) |', algo, mfs, model));
...@@ -227,7 +239,13 @@ end ...@@ -227,7 +239,13 @@ end
% USE_DLL with blocks % USE_DLL with blocks
% %
for mfs = 0:3 for mfs = 0:3
for algo = [0, 1, 2, 3, 4] for algo = stack_solve_algo
if algo == 5
% Algorithm not available
Timings.USE_DLL_WITH_BLOCKS_preprocessing(id(stack_solve_algo==algo), mfs+1) = -10;
Timings.USE_DLL_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1) = -10;
continue
end
if isnan(Timings.USE_DLL_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)) if isnan(Timings.USE_DLL_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))
try try
disp_title(sprintf('| USE_DLL (solve_algo=%u, with blocks, mfs=%u, model=%s) |', algo, mfs, model)); disp_title(sprintf('| USE_DLL (solve_algo=%u, with blocks, mfs=%u, model=%s) |', algo, mfs, model));
...@@ -256,7 +274,7 @@ end ...@@ -256,7 +274,7 @@ end
% Bytecode with blocks % Bytecode with blocks
% %
for mfs = 0:3 for mfs = 0:3
for algo = [0, 1, 2, 3, 4, 5] for algo = stack_solve_algo
if isnan(Timings.BYTECODE_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)) if isnan(Timings.BYTECODE_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))
try try
disp_title(sprintf('| BYTECODE (solve_algo=%u, with blocks, mfs=%u, model=%s) |', algo, mfs, model)); disp_title(sprintf('| BYTECODE (solve_algo=%u, with blocks, mfs=%u, model=%s) |', algo, mfs, model));
......
...@@ -32,7 +32,7 @@ fclose(fid); ...@@ -32,7 +32,7 @@ fclose(fid);
% %
% Matlab % Matlab
% %
for algo = [0, 1] for algo = stack_solve_algo
if ~isnan(MATLAB_computing(id(stack_solve_algo==algo), 1)) if ~isnan(MATLAB_computing(id(stack_solve_algo==algo), 1))
switch MATLAB_computing(id(stack_solve_algo==algo), 1) switch MATLAB_computing(id(stack_solve_algo==algo), 1)
case -1 case -1
...@@ -41,6 +41,8 @@ for algo = [0, 1] ...@@ -41,6 +41,8 @@ for algo = [0, 1]
T = strrep(T, sprintf('{a%u_mat}', algo), 'FAIL'); % algorithm did not converge T = strrep(T, sprintf('{a%u_mat}', algo), 'FAIL'); % algorithm did not converge
case -3 case -3
T = strrep(T, sprintf('{a%u_mat}', algo), 'CRASH'); % matlab crash T = strrep(T, sprintf('{a%u_mat}', algo), 'CRASH'); % matlab crash
case -10
T = strrep(T, sprintf('{a%u_mat}', algo), 'NA'); % not available
otherwise otherwise
T = strrep(T, sprintf('{a%u_mat}', algo), int2str(MATLAB_computing(id(stack_solve_algo==algo), 1))); T = strrep(T, sprintf('{a%u_mat}', algo), int2str(MATLAB_computing(id(stack_solve_algo==algo), 1)));
end end
...@@ -49,7 +51,7 @@ end ...@@ -49,7 +51,7 @@ end
% %
% use_dll % use_dll
% %
for algo = [0, 1] for algo = stack_solve_algo
if ~isnan(USE_DLL_computing(id(stack_solve_algo==algo), 1)) if ~isnan(USE_DLL_computing(id(stack_solve_algo==algo), 1))
switch USE_DLL_computing(id(stack_solve_algo==algo), 1) switch USE_DLL_computing(id(stack_solve_algo==algo), 1)
case -1 case -1
...@@ -58,6 +60,8 @@ for algo = [0, 1] ...@@ -58,6 +60,8 @@ for algo = [0, 1]
T = strrep(T, sprintf('{a%u_dll}', algo), 'FAIL'); T = strrep(T, sprintf('{a%u_dll}', algo), 'FAIL');
case -3 case -3
T = strrep(T, sprintf('{a%u_dll}', algo), 'CRASH'); T = strrep(T, sprintf('{a%u_dll}', algo), 'CRASH');
case -10
T = strrep(T, sprintf('{a%u_dll}', algo), 'NA');
otherwise otherwise
T = strrep(T, sprintf('{a%u_dll}', algo), int2str(USE_DLL_computing(id(stack_solve_algo==algo), 1))); T = strrep(T, sprintf('{a%u_dll}', algo), int2str(USE_DLL_computing(id(stack_solve_algo==algo), 1)));
end end
...@@ -66,7 +70,7 @@ end ...@@ -66,7 +70,7 @@ end
% %
% Bytecode % Bytecode
% %
for algo = [0, 1, 2, 3, 4, 5] for algo = stack_solve_algo
if ~isnan(BYTECODE_computing(id(stack_solve_algo==algo), 1)) if ~isnan(BYTECODE_computing(id(stack_solve_algo==algo), 1))
switch BYTECODE_computing(id(stack_solve_algo==algo), 1) switch BYTECODE_computing(id(stack_solve_algo==algo), 1)
case -1 case -1
...@@ -75,6 +79,8 @@ for algo = [0, 1, 2, 3, 4, 5] ...@@ -75,6 +79,8 @@ for algo = [0, 1, 2, 3, 4, 5]
T = strrep(T, sprintf('{a%u_byt}', algo), 'FAIL'); T = strrep(T, sprintf('{a%u_byt}', algo), 'FAIL');
case -3 case -3
T = strrep(T, sprintf('{a%u_byt}', algo), 'CRASH'); T = strrep(T, sprintf('{a%u_byt}', algo), 'CRASH');
case -10
T = strrep(T, sprintf('{a%u_byt}', algo), 'NA');
otherwise otherwise
T = strrep(T, sprintf('{a%u_byt}', algo), int2str(BYTECODE_computing(id(stack_solve_algo==algo), 1))); T = strrep(T, sprintf('{a%u_byt}', algo), int2str(BYTECODE_computing(id(stack_solve_algo==algo), 1)));
end end
...@@ -84,7 +90,7 @@ end ...@@ -84,7 +90,7 @@ end
% Matlab with blocks % Matlab with blocks
% %
for mfs = 0:3 for mfs = 0:3
for algo = [0, 1, 2, 3, 4] for algo = stack_solve_algo
if ~isnan(MATLAB_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)) if ~isnan(MATLAB_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))
switch MATLAB_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1) switch MATLAB_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)
case -1 case -1
...@@ -93,6 +99,8 @@ for mfs = 0:3 ...@@ -93,6 +99,8 @@ for mfs = 0:3
T = strrep(T, sprintf('{a%u_mat_blk_%u}', algo, mfs), 'FAIL'); T = strrep(T, sprintf('{a%u_mat_blk_%u}', algo, mfs), 'FAIL');
case -3 case -3
T = strrep(T, sprintf('{a%u_mat_blk_%u}', algo, mfs), 'CRASH'); T = strrep(T, sprintf('{a%u_mat_blk_%u}', algo, mfs), 'CRASH');
case -10
T = strrep(T, sprintf('{a%u_mat_blk_%u}', algo, mfs), 'NA');
otherwise otherwise
T = strrep(T, sprintf('{a%u_mat_blk_%u}', algo, mfs), int2str(MATLAB_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))); T = strrep(T, sprintf('{a%u_mat_blk_%u}', algo, mfs), int2str(MATLAB_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)));
end end
...@@ -103,7 +111,7 @@ end ...@@ -103,7 +111,7 @@ end
% USE_DLL with blocks % USE_DLL with blocks
% %
for mfs = 0:3 for mfs = 0:3
for algo = [0, 1, 2, 3, 4] for algo = stack_solve_algo
if ~isnan(USE_DLL_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)) if ~isnan(USE_DLL_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))
switch USE_DLL_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1) switch USE_DLL_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)
case -1 case -1
...@@ -112,6 +120,8 @@ for mfs = 0:3 ...@@ -112,6 +120,8 @@ for mfs = 0:3
T = strrep(T, sprintf('{a%u_dll_blk_%u}', algo, mfs), 'FAIL'); T = strrep(T, sprintf('{a%u_dll_blk_%u}', algo, mfs), 'FAIL');
case -3 case -3
T = strrep(T, sprintf('{a%u_dll_blk_%u}', algo, mfs), 'CRASH'); T = strrep(T, sprintf('{a%u_dll_blk_%u}', algo, mfs), 'CRASH');
case -10
T = strrep(T, sprintf('{a%u_dll_blk_%u}', algo, mfs), 'NA');
otherwise otherwise
T = strrep(T, sprintf('{a%u_dll_blk_%u}', algo, mfs), int2str(USE_DLL_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))); T = strrep(T, sprintf('{a%u_dll_blk_%u}', algo, mfs), int2str(USE_DLL_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)));
end end
...@@ -122,7 +132,7 @@ end ...@@ -122,7 +132,7 @@ end
% Bytecode with blocks % Bytecode with blocks
% %
for mfs = 0:3 for mfs = 0:3
for algo = [0, 1, 2, 3, 4, 5] for algo = stack_solve_algo
if ~isnan(BYTECODE_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)) if ~isnan(BYTECODE_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))
switch BYTECODE_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1) switch BYTECODE_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)
case -1 case -1
...@@ -131,6 +141,8 @@ for mfs = 0:3 ...@@ -131,6 +141,8 @@ for mfs = 0:3
T = strrep(T, sprintf('{a%u_byt_blk_%u}', algo, mfs), 'FAIL'); T = strrep(T, sprintf('{a%u_byt_blk_%u}', algo, mfs), 'FAIL');
case -3 case -3
T = strrep(T, sprintf('{a%u_byt_blk_%u}', algo, mfs), 'CRASH'); T = strrep(T, sprintf('{a%u_byt_blk_%u}', algo, mfs), 'CRASH');
case -10
T = strrep(T, sprintf('{a%u_byt_blk_%u}', algo, mfs), 'NA');
otherwise otherwise
T = strrep(T, sprintf('{a%u_byt_blk_%u}', algo, mfs), int2str(BYTECODE_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))); T = strrep(T, sprintf('{a%u_byt_blk_%u}', algo, mfs), int2str(BYTECODE_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)));
end end
......
...@@ -11,10 +11,10 @@ ...@@ -11,10 +11,10 @@
\cline{2-16} \cline{2-16}
\texttt{0} & {a0_mat} & {a0_dll} & {a0_byt} & {a0_mat_blk_0} & {a0_mat_blk_1} & {a0_mat_blk_2} & {a0_mat_blk_3} & {a0_dll_blk_0} & {a0_dll_blk_1} & {a0_dll_blk_2} & {a0_dll_blk_3} & {a0_byt_blk_0} & {a0_byt_blk_1} & {a0_byt_blk_2} & {a0_byt_blk_3} \\ \texttt{0} & {a0_mat} & {a0_dll} & {a0_byt} & {a0_mat_blk_0} & {a0_mat_blk_1} & {a0_mat_blk_2} & {a0_mat_blk_3} & {a0_dll_blk_0} & {a0_dll_blk_1} & {a0_dll_blk_2} & {a0_dll_blk_3} & {a0_byt_blk_0} & {a0_byt_blk_1} & {a0_byt_blk_2} & {a0_byt_blk_3} \\
\texttt{1} & {a1_mat} & {a1_dll} & {a1_byt} & {a1_mat_blk_0} & {a1_mat_blk_1} & {a1_mat_blk_2} & {a1_mat_blk_3} & {a1_dll_blk_0} & {a1_dll_blk_1} & {a1_dll_blk_2} & {a1_dll_blk_3} & {a1_byt_blk_0} & {a1_byt_blk_1} & {a1_byt_blk_2} & {a1_byt_blk_3} \\ \texttt{1} & {a1_mat} & {a1_dll} & {a1_byt} & {a1_mat_blk_0} & {a1_mat_blk_1} & {a1_mat_blk_2} & {a1_mat_blk_3} & {a1_dll_blk_0} & {a1_dll_blk_1} & {a1_dll_blk_2} & {a1_dll_blk_3} & {a1_byt_blk_0} & {a1_byt_blk_1} & {a1_byt_blk_2} & {a1_byt_blk_3} \\
\texttt{2} & NA & NA & {a2_byt} & {a2_mat_blk_0} & {a2_mat_blk_1} & {a2_mat_blk_2} & {a2_mat_blk_3} & {a2_dll_blk_0} & {a2_dll_blk_1} & {a2_dll_blk_2} & {a2_dll_blk_3} & {a2_byt_blk_0} & {a2_byt_blk_1} & {a2_byt_blk_2} & {a2_byt_blk_3} \\ \texttt{2} & {a2_mat} & {a2_dll} & {a2_byt} & {a2_mat_blk_0} & {a2_mat_blk_1} & {a2_mat_blk_2} & {a2_mat_blk_3} & {a2_dll_blk_0} & {a2_dll_blk_1} & {a2_dll_blk_2} & {a2_dll_blk_3} & {a2_byt_blk_0} & {a2_byt_blk_1} & {a2_byt_blk_2} & {a2_byt_blk_3} \\
\texttt{3} & NA & NA & {a3_byt} & {a3_mat_blk_0} & {a3_mat_blk_1} & {a3_mat_blk_2} & {a3_mat_blk_3} & {a3_dll_blk_0} & {a3_dll_blk_1} & {a3_dll_blk_2} & {a3_dll_blk_3} & {a3_byt_blk_0} & {a3_byt_blk_1} & {a3_byt_blk_2} & {a3_byt_blk_3} \\ \texttt{3} & {a3_mat} & {a3_dll} & {a3_byt} & {a3_mat_blk_0} & {a3_mat_blk_1} & {a3_mat_blk_2} & {a3_mat_blk_3} & {a3_dll_blk_0} & {a3_dll_blk_1} & {a3_dll_blk_2} & {a3_dll_blk_3} & {a3_byt_blk_0} & {a3_byt_blk_1} & {a3_byt_blk_2} & {a3_byt_blk_3} \\
\texttt{4} & NA & NA & {a4_byt} & {a4_mat_blk_0} & {a4_mat_blk_1} & {a4_mat_blk_2} & {a4_mat_blk_3} & {a4_dll_blk_0} & {a4_dll_blk_1} & {a4_dll_blk_2} & {a4_dll_blk_3} & {a4_byt_blk_0} & {a4_byt_blk_1} & {a4_byt_blk_2} & {a4_byt_blk_3} \\ \texttt{4} & {a4_mat} & {a4_dll} & {a4_byt} & {a4_mat_blk_0} & {a4_mat_blk_1} & {a4_mat_blk_2} & {a4_mat_blk_3} & {a4_dll_blk_0} & {a4_dll_blk_1} & {a4_dll_blk_2} & {a4_dll_blk_3} & {a4_byt_blk_0} & {a4_byt_blk_1} & {a4_byt_blk_2} & {a4_byt_blk_3} \\
\texttt{5} & NA & NA & {a5_byt} & NA & NA & NA & NA & NA & NA & NA & NA & {a5_byt_blk_0} & {a5_byt_blk_1} & {a5_byt_blk_2} & {a5_byt_blk_3}\\ \texttt{5} & {a5_mat} & {a5_dll} & {a5_byt} & {a5_mat_blk_0} & {a5_mat_blk_1} & {a5_mat_blk_2} & {a5_mat_blk_3} & {a5_dll_blk_0} & {a5_dll_blk_1} & {a5_dll_blk_2} & {a5_dll_blk_3} & {a5_byt_blk_0} & {a5_byt_blk_1} & {a5_byt_blk_2} & {a5_byt_blk_3} \\
\hline \hline
\end{tabular} \end{tabular}
......
...@@ -11,10 +11,10 @@ ...@@ -11,10 +11,10 @@
\cline{2-16} \cline{2-16}
\texttt{0} & {a0_mat} & {a0_dll} & {a0_byt} & {a0_mat_blk_0} & {a0_mat_blk_1} & {a0_mat_blk_2} & {a0_mat_blk_3} & {a0_dll_blk_0} & {a0_dll_blk_1} & {a0_dll_blk_2} & {a0_dll_blk_3} & {a0_byt_blk_0} & {a0_byt_blk_1} & {a0_byt_blk_2} & {a0_byt_blk_3} \\ \texttt{0} & {a0_mat} & {a0_dll} & {a0_byt} & {a0_mat_blk_0} & {a0_mat_blk_1} & {a0_mat_blk_2} & {a0_mat_blk_3} & {a0_dll_blk_0} & {a0_dll_blk_1} & {a0_dll_blk_2} & {a0_dll_blk_3} & {a0_byt_blk_0} & {a0_byt_blk_1} & {a0_byt_blk_2} & {a0_byt_blk_3} \\
\texttt{1} & {a1_mat} & {a1_dll} & {a1_byt} & {a1_mat_blk_0} & {a1_mat_blk_1} & {a1_mat_blk_2} & {a1_mat_blk_3} & {a1_dll_blk_0} & {a1_dll_blk_1} & {a1_dll_blk_2} & {a1_dll_blk_3} & {a1_byt_blk_0} & {a1_byt_blk_1} & {a1_byt_blk_2} & {a1_byt_blk_3} \\ \texttt{1} & {a1_mat} & {a1_dll} & {a1_byt} & {a1_mat_blk_0} & {a1_mat_blk_1} & {a1_mat_blk_2} & {a1_mat_blk_3} & {a1_dll_blk_0} & {a1_dll_blk_1} & {a1_dll_blk_2} & {a1_dll_blk_3} & {a1_byt_blk_0} & {a1_byt_blk_1} & {a1_byt_blk_2} & {a1_byt_blk_3} \\
\texttt{2} & NA & NA & {a2_byt} & {a2_mat_blk_0} & {a2_mat_blk_1} & {a2_mat_blk_2} & {a2_mat_blk_3} & {a2_dll_blk_0} & {a2_dll_blk_1} & {a2_dll_blk_2} & {a2_dll_blk_3} & {a2_byt_blk_0} & {a2_byt_blk_1} & {a2_byt_blk_2} & {a2_byt_blk_3} \\ \texttt{2} & {a2_mat} & {a2_dll} & {a2_byt} & {a2_mat_blk_0} & {a2_mat_blk_1} & {a2_mat_blk_2} & {a2_mat_blk_3} & {a2_dll_blk_0} & {a2_dll_blk_1} & {a2_dll_blk_2} & {a2_dll_blk_3} & {a2_byt_blk_0} & {a2_byt_blk_1} & {a2_byt_blk_2} & {a2_byt_blk_3} \\
\texttt{3} & NA & NA & {a3_byt} & {a3_mat_blk_0} & {a3_mat_blk_1} & {a3_mat_blk_2} & {a3_mat_blk_3} & {a3_dll_blk_0} & {a3_dll_blk_1} & {a3_dll_blk_2} & {a3_dll_blk_3} & {a3_byt_blk_0} & {a3_byt_blk_1} & {a3_byt_blk_2} & {a3_byt_blk_3} \\ \texttt{3} & {a3_mat} & {a3_dll} & {a3_byt} & {a3_mat_blk_0} & {a3_mat_blk_1} & {a3_mat_blk_2} & {a3_mat_blk_3} & {a3_dll_blk_0} & {a3_dll_blk_1} & {a3_dll_blk_2} & {a3_dll_blk_3} & {a3_byt_blk_0} & {a3_byt_blk_1} & {a3_byt_blk_2} & {a3_byt_blk_3} \\
\texttt{4} & NA & NA & {a4_byt} & {a4_mat_blk_0} & {a4_mat_blk_1} & {a4_mat_blk_2} & {a4_mat_blk_3} & {a4_dll_blk_0} & {a4_dll_blk_1} & {a4_dll_blk_2} & {a4_dll_blk_3} & {a4_byt_blk_0} & {a4_byt_blk_1} & {a4_byt_blk_2} & {a4_byt_blk_3} \\ \texttt{4} & {a4_mat} & {a4_dll} & {a4_byt} & {a4_mat_blk_0} & {a4_mat_blk_1} & {a4_mat_blk_2} & {a4_mat_blk_3} & {a4_dll_blk_0} & {a4_dll_blk_1} & {a4_dll_blk_2} & {a4_dll_blk_3} & {a4_byt_blk_0} & {a4_byt_blk_1} & {a4_byt_blk_2} & {a4_byt_blk_3} \\
\texttt{5} & NA & NA & {a5_byt} & NA & NA & NA & NA & NA & NA & NA & NA & {a5_byt_blk_0} & {a5_byt_blk_1} & {a5_byt_blk_2} & {a5_byt_blk_3}\\ \texttt{5} & {a5_mat} & {a5_dll} & {a5_byt} & {a5_mat_blk_0} & {a5_mat_blk_1} & {a5_mat_blk_2} & {a5_mat_blk_3} & {a5_dll_blk_0} & {a5_dll_blk_1} & {a5_dll_blk_2} & {a5_dll_blk_3} & {a5_byt_blk_0} & {a5_byt_blk_1} & {a5_byt_blk_2} & {a5_byt_blk_3} \\
\texttt{7(0)} & {a7_0_mat} & {a7_0_dll} & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\ \texttt{7(0)} & {a7_0_mat} & {a7_0_dll} & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\
\texttt{7(1)} & {a7_1_mat} & {a7_1_dll} & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\ \texttt{7(1)} & {a7_1_mat} & {a7_1_dll} & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment