You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: test_mir1k_general_kl_bss3.m
    path of file: ./repos/deeplearningsourceseparation/codes/mir1k
    
    the code of the file until where you have to start completion: function test_mir1k_general_kl_bss3(modelname_in, theta, eI, stage, iter)
% Copyright (c) 2014-present University of Illinois at Urbana-Champaign
% All rights reserved.
% 		
% Developed by:     Po-Sen Huang, Paris Smaragdis
%                   Department of Electrical and Computer Engineering
%                   Department of Computer Science
%
% Run test and evaluation given a model.

if strcmp(stage,'testall') || strcmp(stage,'done')
	eval_types={'dev','test'};
else
	eval_types={'dev'};
end
normalize = inline('x./max(abs(x)+1e-3)');

for ieval=1:numel(eval_types)
    eval_files= dir( [eI.DataPath,filesep, eval_types{ieval}, filesep, '*wav']);

    modelname=[modelname_in, '_', eval_types{ieval}];

    % SDR
    GNSDR.no = zeros(numel(eval_files),1 );
    GNSDR.binary = zeros(numel(eval_files),1 );
    GNSDR.soft = zeros(numel(eval_files),1 );
    GNSDR.len =  zeros(numel(eval_files),1 );

    GNSDR_bss3.no = zeros(numel(eval_files),1 );
    GNSDR_bss3.binary = zeros(numel(eval_files),1 );
    GNSDR_bss3.soft = zeros(numel(eval_files),1 );
    GNSDR_bss3.len =  zeros(numel(eval_files),1 );

    
function test_mir1k_general_kl_bss3(modelname_in, theta, eI, stage, iter)
% Copyright (c) 2014-present University of Illinois at Urbana-Champaign
% All rights reserved.
% 		
% Developed by:     Po-Sen Huang, Paris Smaragdis
%                   Department of Electrical and Computer Engineering
%                   Department of Computer Science
%
% Run test and evaluation given a model.

if strcmp(stage,'testall') || strcmp(stage,'done')
	eval_types={'dev','test'};
else
	eval_types={'dev'};
end
normalize = inline('x./max(abs(x)+1e-3)');

for ieval=1:numel(eval_types)
    eval_files= dir( [eI.DataPath,filesep, eval_types{ieval}, filesep, '*wav']);

    modelname=[modelname_in, '_', eval_types{ieval}];

    % SDR
    GNSDR.no = zeros(numel(eval_files),1 );
    GNSDR.binary = zeros(numel(eval_files),1 );
    GNSDR.soft = zeros(numel(eval_files),1 );
    GNSDR.len =  zeros(numel(eval_files),1 );

    GNSDR_bss3.no = zeros(numel(eval_files),1 );
    GNSDR_bss3.binary = zeros(numel(eval_files),1 );
    GNSDR_bss3.soft = zeros(numel(eval_files),1 );
    GNSDR_bss3.len =  zeros(numel(eval_files),1 );

    % SIR
    GSIR.no = zeros(numel(eval_files),1 );
    GSIR.binary = zeros(numel(eval_files),1 );
    GSIR.soft = zeros(numel(eval_files),1 );

    GSIR_bss3.no = zeros(numel(eval_files),1 );
    GSIR_bss3.binary = zeros(numel(eval_files),1 );
    GSIR_bss3.soft = zeros(numel(eval_files),1 );

    % SAR
    GSAR.no = zeros(numel(eval_files),1 );
    GSAR.binary = zeros(numel(eval_files),1 );
    GSAR.soft = zeros(numel(eval_files),1 );

    GSAR_bss3.no = zeros(numel(eval_files),1 );
    GSAR_bss3.binary = zeros(numel(eval_files),1 );
    GSAR_bss3.soft = zeros(numel(eval_files),1 );

    for ifile=1:numel(eval_files) % each test songs
        testname=eval_files(ifile).name(1:end