Skip to content

Commit 62b27e7

Browse files
committed
Resolves memory allocation for packParams arrays
1 parent c7dc672 commit 62b27e7

26 files changed

Lines changed: 46 additions & 46 deletions

API/makeEmptyResultStruct.m

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,37 +64,37 @@
6464

6565
reflectivity = cell(nContrasts,1);
6666
refCell = [1 1; 1 1];
67-
coder.varsize('refCell',[maxArraySize 2],[1 0]);
67+
coder.varsize('refCell',[10000 2],[1 0]);
6868
for i = 1:nContrasts
6969
reflectivity{i} = refCell;
7070
end
7171

7272
simulation = cell(nContrasts,1);
7373
simCell = [1 1; 1 1];
74-
coder.varsize('simCell',[maxArraySize 2],[1 0]);
74+
coder.varsize('simCell',[10000 2],[1 0]);
7575
for i = 1:nContrasts
7676
simulation{i} = simCell;
7777
end
7878

7979
shiftedData = cell(nContrasts,1);
8080
shiftCell = [1 1 1; 1 1 1];
81-
coder.varsize('shiftCell',[maxArraySize 3],[1 0]);
81+
coder.varsize('shiftCell',[10000 3],[1 0]);
8282
for i = 1:nContrasts
8383
shiftedData{i} = shiftCell;
8484
end
8585

8686
if domains
8787
layerSlds = cell(nContrasts,2);
8888
domainLayerSldCell = [1 1 1; 1 1 1];
89-
coder.varsize('domainLayerSldCell',[maxArraySize 6],[1 1]);
89+
coder.varsize('domainLayerSldCell',[10000 6],[1 1]);
9090
for i = 1:nContrasts
9191
layerSlds{i,1} = domainLayerSldCell;
9292
layerSlds{i,2} = domainLayerSldCell;
9393
end
9494
else
9595
layerSlds = cell(nContrasts,1);
9696
layerSldCell = [1 1 1; 1 1 1];
97-
coder.varsize('layerSldCell',[maxArraySize 6],[1 1]);
97+
coder.varsize('layerSldCell',[10000 6],[1 1]);
9898
for i = 1:nContrasts
9999
layerSlds{i} = layerSldCell;
100100
end
@@ -104,15 +104,15 @@
104104
if domains
105105
sldProfiles = cell(nContrasts,2);
106106
domainSldProfileCell = [1 1; 1 1];
107-
coder.varsize('domainSldProfileCell',[maxArraySize 2],[1 1]);
107+
coder.varsize('domainSldProfileCell',[10000 2],[1 1]);
108108
for i = 1:nContrasts
109109
sldProfiles{i,1} = domainSldProfileCell;
110110
sldProfiles{i,2} = domainSldProfileCell;
111111
end
112112
else
113113
sldProfiles = cell(nContrasts,1);
114114
sldProfileCell = [1 1; 1 1];
115-
coder.varsize('sldProfileCell',[maxArraySize 2],[1 0]);
115+
coder.varsize('sldProfileCell',[10000 2],[1 0]);
116116
for i = 1:nContrasts
117117
sldProfiles{i,1} = sldProfileCell;
118118
end
@@ -121,15 +121,15 @@
121121
if domains
122122
resampledLayers = cell(nContrasts,2);
123123
domainResampledLayersCell = [1 1 1; 1 1 1];
124-
coder.varsize('domainResampledLayersCell',[maxArraySize 3],[1 0]);
124+
coder.varsize('domainResampledLayersCell',[10000 3],[1 0]);
125125
for i = 1:nContrasts
126126
resampledLayers{i,1} = domainResampledLayersCell;
127127
resampledLayers{i,2} = domainResampledLayersCell;
128128
end
129129
else
130130
resampledLayers = cell(nContrasts,1);
131131
resampledLayersCell = [1 1 1; 1 1 1];
132-
coder.varsize('resampledLayersCell',[maxArraySize 3],[1 0]);
132+
coder.varsize('resampledLayersCell',[10000 3],[1 0]);
133133
for i = 1:nContrasts
134134
resampledLayers{i} = resampledLayersCell;
135135
end

compile/fullCompile/makeCompileArgsFull.m

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@
3737
ARGS_1_1.contrastDomainRatios = coder.typeof(0,[1 maxArraySize],[0 1]);
3838
ARGS_1_1.domainRatio = coder.typeof(0,[1 maxArraySize],[0 1]);
3939
ARGS_1_1.numberOfDomainContrasts = coder.typeof(0);
40-
ARGS_1_1.fitParams = coder.typeof(0,[maxArraySize maxArraySize],[1 1]);
41-
ARGS_1_1.otherParams = coder.typeof(0,[maxArraySize maxArraySize],[1 1]);
42-
ARGS_1_1.fitLimits = coder.typeof(0,[maxArraySize maxArraySize],[1 1]);
43-
ARGS_1_1.otherLimits = coder.typeof(0,[maxArraySize maxArraySize],[1 1]);
40+
ARGS_1_1.fitParams = coder.typeof(0,[maxArraySize 1],[1 0]);
41+
ARGS_1_1.otherParams = coder.typeof(0,[maxArraySize 1],[1 0]);
42+
ARGS_1_1.fitLimits = coder.typeof(0,[maxArraySize 2],[1 0]);
43+
ARGS_1_1.otherLimits = coder.typeof(0,[maxArraySize 2],[1 0]);
4444
ARGS{1}{1} = coder.typeof(ARGS_1_1);
4545
ARGS_1_2 = cell([1 21]);
4646
ARG = coder.typeof(0,[1 2]);
@@ -54,7 +54,7 @@
5454
ARG = coder.typeof(0,[1 maxArraySize],[1 1]);
5555
ARGS_1_2{5} = coder.typeof({ARG}, [1 maxArraySize],[0 1]);
5656
ARG = coder.typeof(0,[1 10],[1 1]);
57-
ARGS_1_2{6} = coder.typeof({ARG}, [maxArraySize 1],[1 0]);
57+
ARGS_1_2{6} = coder.typeof({ARG}, [maxArraySize 1],[1 0]);
5858
ARG = coder.typeof('X',[1 maxArraySize],[0 1]);
5959
ARGS_1_2{7} = coder.typeof({ARG}, [1 maxArraySize],[0 1]);
6060
ARG = coder.typeof('X',[1 maxArraySize],[0 1]);
@@ -88,14 +88,14 @@
8888
ARGS{1}{2} = coder.typeof(ARGS_1_2,[1 21]);
8989
ARGS{1}{2} = ARGS{1}{2}.makeHeterogeneous();
9090
ARGS_1_3 = struct;
91-
ARGS_1_3.param = coder.typeof(0,[maxArraySize 2],[1 0]);
92-
ARGS_1_3.backgroundParam = coder.typeof(0,[maxArraySize 2],[1 0]);
93-
ARGS_1_3.scalefactor = coder.typeof(0,[maxArraySize 2],[1 0]);
94-
ARGS_1_3.qzshift = coder.typeof(0,[maxArraySize 2],[1 0]);
95-
ARGS_1_3.bulkIn = coder.typeof(0,[maxArraySize 2],[1 0]);
96-
ARGS_1_3.bulkOut = coder.typeof(0,[maxArraySize 2],[1 0]);
97-
ARGS_1_3.resolutionParam = coder.typeof(0,[maxArraySize 2],[1 0]);
98-
ARGS_1_3.domainRatio = coder.typeof(0,[maxArraySize 2],[1 0]);
91+
ARGS_1_3.param = coder.typeof(0,[maxArraySize 2],[1 0]);
92+
ARGS_1_3.backgroundParam = coder.typeof(0,[maxArraySize 2],[1 0]);
93+
ARGS_1_3.scalefactor = coder.typeof(0,[maxArraySize 2],[1 0]);
94+
ARGS_1_3.qzshift = coder.typeof(0,[maxArraySize 2],[1 0]);
95+
ARGS_1_3.bulkIn = coder.typeof(0,[maxArraySize 2],[1 0]);
96+
ARGS_1_3.bulkOut = coder.typeof(0,[maxArraySize 2],[1 0]);
97+
ARGS_1_3.resolutionParam = coder.typeof(0,[maxArraySize 2],[1 0]);
98+
ARGS_1_3.domainRatio = coder.typeof(0,[maxArraySize 2],[1 0]);
9999
ARGS{1}{3} = coder.typeof(ARGS_1_3);
100100
ARGS_1_4 = struct;
101101
ARGS_1_4.procedure = coder.typeof('X',[1 maxArraySize],[0 1]);
@@ -145,15 +145,15 @@
145145
ARG_20{4} = coder.typeof(0);
146146
ARG_20 = coder.typeof(ARG_20,[1 4]);
147147
ARG_20 = ARG_20.makeHeterogeneous();
148-
ARGS_1_5.param = coder.typeof({ARG_20}, [maxArraySize 1],[1 0]);
148+
ARGS_1_5.param = coder.typeof({ARG_20}, [maxArraySize 1],[1 0]);
149149
ARG_21 = cell([1 4]);
150150
ARG_21{1} = coder.typeof('X',[1 maxArraySize],[0 1]);
151151
ARG_21{2} = coder.typeof('X',[1 maxArraySize],[0 1]);
152152
ARG_21{3} = coder.typeof(0);
153153
ARG_21{4} = coder.typeof(0);
154154
ARG_21 = coder.typeof(ARG_21,[1 4]);
155155
ARG_21 = ARG_21.makeHeterogeneous();
156-
ARGS_1_5.backgroundParam = coder.typeof({ARG_21}, [maxArraySize 1],[1 0]);
156+
ARGS_1_5.backgroundParam = coder.typeof({ARG_21}, [maxArraySize 1],[1 0]);
157157
ARG_22 = cell([1 4]);
158158
ARG_22{1} = coder.typeof('X',[1 maxArraySize],[0 1]);
159159
ARG_22{2} = coder.typeof('X',[1 maxArraySize],[0 1]);
@@ -201,10 +201,10 @@
201201
ARG_27{4} = coder.typeof(0);
202202
ARG_27 = coder.typeof(ARG_27,[1 4]);
203203
ARG_27 = ARG_27.makeHeterogeneous();
204-
ARGS_1_5.domainRatio = coder.typeof({ARG_27}, [maxArraySize 1],[1 0]);
204+
ARGS_1_5.domainRatio = coder.typeof({ARG_27}, [maxArraySize 1],[1 0]);
205205
ARG_28 = coder.typeof('X',[1 Inf],[0 1]);
206-
ARGS_1_5.priorNames = coder.typeof({ARG_28}, [maxArraySize 1],[1 0]);
207-
ARGS_1_5.priorValues = coder.typeof(0, [maxArraySize 3], [1 0]);
206+
ARGS_1_5.priorNames = coder.typeof({ARG_28}, [maxArraySize 1],[1 0]);
207+
ARGS_1_5.priorValues = coder.typeof(0, [maxArraySize 3], [1 0]);
208208
ARGS{1}{5} = coder.typeof(ARGS_1_5);
209209

210210
end

compile/reflectivityCalculation/makeCompileArgs.m

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@
3737
ARGS_1_1.contrastDomainRatios = coder.typeof(0,[1 maxArraySize],[0 1]);
3838
ARGS_1_1.domainRatio = coder.typeof(0,[1 maxArraySize],[0 1]);
3939
ARGS_1_1.numberOfDomainContrasts = coder.typeof(0);
40-
ARGS_1_1.fitParams = coder.typeof(0,[maxArraySize maxArraySize],[1 1]);
41-
ARGS_1_1.otherParams = coder.typeof(0,[maxArraySize maxArraySize],[1 1]);
42-
ARGS_1_1.fitLimits = coder.typeof(0,[maxArraySize maxArraySize],[1 1]);
43-
ARGS_1_1.otherLimits = coder.typeof(0,[maxArraySize maxArraySize],[1 1]);
40+
ARGS_1_1.fitParams = coder.typeof(0,[maxArraySize 1],[1 0]);
41+
ARGS_1_1.otherParams = coder.typeof(0,[maxArraySize 1],[1 0]);
42+
ARGS_1_1.fitLimits = coder.typeof(0,[maxArraySize 2],[1 0]);
43+
ARGS_1_1.otherLimits = coder.typeof(0,[maxArraySize 2],[1 0]);
4444
ARGS{1}{1} = coder.typeof(ARGS_1_1);
4545
ARGS_1_2 = cell([1 21]);
4646
ARG = coder.typeof(0,[1 2]);
@@ -54,7 +54,7 @@
5454
ARG = coder.typeof(0,[1 maxArraySize],[1 1]);
5555
ARGS_1_2{5} = coder.typeof({ARG}, [1 maxArraySize],[0 1]);
5656
ARG = coder.typeof(0,[1 10],[1 1]);
57-
ARGS_1_2{6} = coder.typeof({ARG}, [maxArraySize 1],[1 0]);
57+
ARGS_1_2{6} = coder.typeof({ARG}, [maxArraySize 1],[1 0]);
5858
ARG = coder.typeof('X',[1 maxArraySize],[0 1]);
5959
ARGS_1_2{7} = coder.typeof({ARG}, [1 maxArraySize],[0 1]);
6060
ARG = coder.typeof('X',[1 maxArraySize],[0 1]);
@@ -88,14 +88,14 @@
8888
ARGS{1}{2} = coder.typeof(ARGS_1_2,[1 21]);
8989
ARGS{1}{2} = ARGS{1}{2}.makeHeterogeneous();
9090
ARGS_1_3 = struct;
91-
ARGS_1_3.param = coder.typeof(0,[maxArraySize 2],[1 0]);
92-
ARGS_1_3.backgroundParam = coder.typeof(0,[maxArraySize 2],[1 0]);
93-
ARGS_1_3.scalefactor = coder.typeof(0,[maxArraySize 2],[1 0]);
94-
ARGS_1_3.qzshift = coder.typeof(0,[maxArraySize 2],[1 0]);
95-
ARGS_1_3.bulkIn = coder.typeof(0,[maxArraySize 2],[1 0]);
96-
ARGS_1_3.bulkOut = coder.typeof(0,[maxArraySize 2],[1 0]);
97-
ARGS_1_3.resolutionParam = coder.typeof(0,[maxArraySize 2],[1 0]);
98-
ARGS_1_3.domainRatio = coder.typeof(0,[maxArraySize 2],[1 0]);
91+
ARGS_1_3.param = coder.typeof(0,[maxArraySize 2],[1 0]);
92+
ARGS_1_3.backgroundParam = coder.typeof(0,[maxArraySize 2],[1 0]);
93+
ARGS_1_3.scalefactor = coder.typeof(0,[maxArraySize 2],[1 0]);
94+
ARGS_1_3.qzshift = coder.typeof(0,[maxArraySize 2],[1 0]);
95+
ARGS_1_3.bulkIn = coder.typeof(0,[maxArraySize 2],[1 0]);
96+
ARGS_1_3.bulkOut = coder.typeof(0,[maxArraySize 2],[1 0]);
97+
ARGS_1_3.resolutionParam = coder.typeof(0,[maxArraySize 2],[1 0]);
98+
ARGS_1_3.domainRatio = coder.typeof(0,[maxArraySize 2],[1 0]);
9999
ARGS{1}{3} = coder.typeof(ARGS_1_3);
100100
ARGS_1_4 = struct;
101101
ARGS_1_4.procedure = coder.typeof('X',[1 maxArraySize],[0 1]);

minimisers/DE/runDE.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@
117117
coder.varsize('S_MSE.I_no',[1 1],[0 0]);
118118
coder.varsize('S_MSE.FVr_oa',[1 1],[0 0]);
119119

120-
problemStruct.fitParams = p;
120+
problemStruct.fitParams = p';
121121
problemStruct = unpackParams(problemStruct,controls);
122122
result = reflectivityCalculation(problemStruct,problemCells,problemLimits,controls);
123123
fval = result.calculationResults.sumChi;

minimisers/generalUtils/packParams.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@
2121
length(problemStruct.resolutionParams) + ...
2222
length(problemStruct.domainRatio);
2323

24-
fitParams = problemStruct.fitParams;%zeros(numberOfFitted,1);
25-
otherParams = zeros((numberOfTotal-numberOfFitted),1);
24+
fitParams = zeros(numberOfFitted, 1);
25+
otherParams = zeros((numberOfTotal-numberOfFitted), 1);
2626
fitLimits = zeros(numberOfFitted,2);
2727
otherLimits = zeros((numberOfTotal-numberOfFitted),2);
28-
%limits = problemStruct.limits;
28+
2929
fitNames = cell(numberOfFitted,1);
3030
for i = 1:numberOfFitted
3131
fitNames{i} = '';

minimisers/generalUtils/packParamsPriors.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
length(problemStruct.resolutionParams) + ...
2222
length(problemStruct.domainRatio);
2323

24-
fitParams = problemStruct.fitParams;
25-
otherParams = zeros((numberOfTotal-numberOfFitted),1);
24+
fitParams = zeros(numberOfFitted, 1);
25+
otherParams = zeros((numberOfTotal-numberOfFitted), 1);
2626
fitLimits = zeros(numberOfFitted,2);
2727
otherLimits = zeros((numberOfTotal-numberOfFitted),2);
2828
fitNames = cell(numberOfFitted,1);
Binary file not shown.
Binary file not shown.
Binary file not shown.
-5 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)