From 7aeb61b0f8e120898592fb239876975f6c6a680d Mon Sep 17 00:00:00 2001 From: Houtan Bastani Date: Mon, 5 Jul 2010 19:24:50 +0200 Subject: [PATCH] SWZ: replace free with swzFree --- matlab/swz/c-code/mex/mex_top_level.c | 6 +- matlab/swz/c-code/mex/modify_for_mex.h | 4 +- matlab/swz/c-code/sbvar/switching/switch.c | 16 +- matlab/swz/c-code/sbvar/switching/switch.h | 2 +- .../swz/c-code/sbvar/switching/switch_opt.c | 4 +- matlab/swz/c-code/sbvar/switching/switchio.c | 38 ++--- matlab/swz/c-code/sbvar/var/PrintDraws.c | 4 +- matlab/swz/c-code/sbvar/var/VARbase.c | 10 +- matlab/swz/c-code/sbvar/var/VARio.c | 28 ++-- matlab/swz/c-code/sbvar/var/VARio_matlab.c | 2 +- .../swz/c-code/sbvar/var/command_line_VAR.c | 66 ++++---- matlab/swz/c-code/sbvar/var/estimate.c | 42 ++--- matlab/swz/c-code/sbvar/var/mhm_VAR.c | 4 +- matlab/swz/c-code/sbvar/var/mhm_VAR_main_1.c | 10 +- matlab/swz/c-code/sbvar/var/probabilities.c | 8 +- .../utilities/DWCcode/arrays/dw_array.c | 20 +-- .../DWCcode/arrays/dw_matrix_array.c | 4 +- .../c-code/utilities/DWCcode/ascii/dw_ascii.c | 16 +- .../DWCcode/matrix/bmatrix_blas_lapack.c | 150 ++++++++--------- .../utilities/DWCcode/matrix/bmatrix_native.c | 152 +++++++++--------- .../utilities/DWCcode/matrix/swzmatrix.c | 150 ++++++++--------- .../c-code/utilities/DWCcode/matrix/tz2dw.h | 2 +- .../utilities/DWCcode/sort/dw_matrix_sort.c | 4 +- .../utilities/DWCcode/spherical/spherical.c | 2 +- .../c-code/utilities/DWCcode/stat/dw_rand.c | 12 +- .../swz/c-code/utilities/TZCcode/csminwel.c | 6 +- matlab/swz/c-code/utilities/TZCcode/cstz.c | 48 +++--- matlab/swz/c-code/utilities/TZCcode/cstz_dw.c | 48 +++--- .../c-code/utilities/TZCcode/fn_filesetup.c | 2 +- matlab/swz/c-code/utilities/TZCcode/gensys.c | 2 +- matlab/swz/c-code/utilities/TZCcode/kalman.c | 2 +- matlab/swz/c-code/utilities/TZCcode/mathlib.c | 46 +++--- .../swz/c-code/utilities/TZCcode/optpackage.c | 16 +- .../swz/c-code/utilities/TZCcode/tzmatlab.c | 48 +++--- .../c-code/utilities/TZCcode/tzmatlab_dw.h | 2 +- .../c-code/utilities/TZCcode/tzmatlab_tao.h | 2 +- 36 files changed, 489 insertions(+), 489 deletions(-) diff --git a/matlab/swz/c-code/mex/mex_top_level.c b/matlab/swz/c-code/mex/mex_top_level.c index d66547b44..413ddde3a 100644 --- a/matlab/swz/c-code/mex/mex_top_level.c +++ b/matlab/swz/c-code/mex/mex_top_level.c @@ -57,7 +57,7 @@ mexFunction(int nlhs, mxArray *plhs[], strncpy(args[nargs++], beginarg, n); beginarg += (isspace(beginarg[n]) || isblank(beginarg[n]) ? ++n : n); } - free(argument); + swzFree(argument); /* * Call top_level function (formerly main) @@ -68,6 +68,6 @@ mexFunction(int nlhs, mxArray *plhs[], * free memory */ for (n=0; nPrior_ba); } - free(sv); + swzFree(sv); } } /*******************************************************************************/ @@ -176,7 +176,7 @@ TMarkovStateVariable* CreateMarkovStateVariable_Single(int nstates, int nobs, TM { sv->b[k]=CreateVector(FreeDim[k]); /* // seting up non-standard memory management ansi-c*/ - free(pElementV(sv->b[k])); + swzFree(pElementV(sv->b[k])); pElementV(sv->b[k])=pElementV(sv->B)+q; q+=FreeDim[k]; } @@ -196,7 +196,7 @@ TMarkovStateVariable* CreateMarkovStateVariable_Single(int nstates, int nobs, TM { sv->Prior_b[k]=CreateVector(FreeDim[k]); /* // seting up non-standard memory management ansi-c*/ - free(pElementV(sv->Prior_b[k])); + swzFree(pElementV(sv->Prior_b[k])); pElementV(sv->Prior_b[k])=pElementV(sv->Prior_B)+q; q+=FreeDim[k]; } @@ -603,7 +603,7 @@ TMarkovStateVariable* RestrictMarkovStateVariable(TMarkovStateVariable *sv, int FreeMatrix(MQ); dw_FreeArray(NonZeroIndex); dw_FreeArray(FreeDim); - free(free_translation); + swzFree(free_translation); return rsv; } @@ -1391,13 +1391,13 @@ void FreeStateModel(TStateModel *model) { if (model->routines->pDestructor) model->routines->pDestructor(model->theta); - free(model->routines); + swzFree(model->routines); } FreeMarkovStateVariable(model->sv); dw_FreeArray(model->V); dw_FreeArray(model->Z); dw_FreeArray(model->states_count); - free(model); + swzFree(model); } } /*******************************************************************************/ @@ -1732,7 +1732,7 @@ int NormalizeStates(TStateModel *model) /* if (Permute_SV(p,model->sv)) */ /* if (model->routiens->pPermuteTheta(p,model)) */ /* rtrn=1; */ -/* free(p); */ +/* swzFree(p); */ /* } */ /* return rtrn; */ @@ -2975,7 +2975,7 @@ void FreeParameters(TParameters *p) if (p) { if (p->pParameterDestructor) p->pParameterDestructor(p->p); - free(p); + swzFree(p); } } diff --git a/matlab/swz/c-code/sbvar/switching/switch.h b/matlab/swz/c-code/sbvar/switching/switch.h index 0d79123d4..33c7c69f1 100644 --- a/matlab/swz/c-code/sbvar/switching/switch.h +++ b/matlab/swz/c-code/sbvar/switching/switch.h @@ -568,7 +568,7 @@ TStateModel* CreateStateModel(TMarkovStateVariable *sv, TParameters *p); techniques are used and the following must be true. All of pElementV(BA[i]), pElementM(QA[i]), and pElementIV(SA[i]) were - allocated with swzMalloc(), can be freed with free(), and none of + allocated with swzMalloc(), can be freed with swzFree(), and none of FreeVector(BA[i]), FreeMatrix(QA[i]), or FreeIntMatrix(SA[i]) attempt to free pElemementV(BA[i]), pElementM(QA[i]), or pElementIV(SA[i]) if these are null pointers. diff --git a/matlab/swz/c-code/sbvar/switching/switch_opt.c b/matlab/swz/c-code/sbvar/switching/switch_opt.c index 2db863984..e1459d501 100644 --- a/matlab/swz/c-code/sbvar/switching/switch_opt.c +++ b/matlab/swz/c-code/sbvar/switching/switch_opt.c @@ -19,7 +19,7 @@ static int NumberFreeParameters_Theta=0; void SetupObjectiveFunction(TStateModel *model, PRECISION *Modified, PRECISION *FreeQ, PRECISION *FreeTheta) { - if (buffer) free(buffer); + if (buffer) swzFree(buffer); Model=model; FreeParameters_Q=FreeQ; NumberFreeParameters_Q=NumberFreeParametersQ(model); @@ -30,7 +30,7 @@ void SetupObjectiveFunction(TStateModel *model, PRECISION *Modified, PRECISION * void SetupObjectiveFunction_new(TStateModel *model, int FreeTheta_Idx, int FreeQ_Idx, int Modified_Idx) { - if (buffer) free(buffer); + if (buffer) swzFree(buffer); Model=model; NumberFreeParameters_Q=NumberFreeParametersQ(model); NumberFreeParameters_Theta=model->routines->pNumberFreeParametersTheta(model); diff --git a/matlab/swz/c-code/sbvar/switching/switchio.c b/matlab/swz/c-code/sbvar/switching/switchio.c index 149cd5187..23369cd7c 100644 --- a/matlab/swz/c-code/sbvar/switching/switchio.c +++ b/matlab/swz/c-code/sbvar/switching/switchio.c @@ -46,8 +46,8 @@ static void ReadError(char *idformat, char *trailer, int error) idbuffer=idformat; sprintf(errmsg=(char*)swzMalloc(strlen(format)+strlen(idbuffer)-1),format,idbuffer); dw_UserError(errmsg); - free(errmsg); - if (idbuffer != idformat) free(idbuffer); + swzFree(errmsg); + if (idbuffer != idformat) swzFree(idbuffer); } /* @@ -70,7 +70,7 @@ static int SetFilePosition(FILE *f_in, char *format, char *str) else buffer=format; rtrn=dw_SetFilePosition(f_in,buffer); - if (buffer != format) free(buffer); + if (buffer != format) swzFree(buffer); return rtrn; } @@ -168,7 +168,7 @@ TMarkovStateVariable* ReadMarkovSpecification_SV(FILE *f_in, char *idstring, int sprintf(idstring_new+j,"[%d]",i+1); if (!(sv_array[i]=ReadMarkovSpecification_SV(f_in,idstring_new,nobs))) break; } - free(idstring_new); + swzFree(idstring_new); if (i == n_state_variables) sv=CreateMarkovStateVariable_Multiple(nobs,n_state_variables,sv_array); else @@ -247,7 +247,7 @@ TMarkovStateVariable* ReadMarkovSpecification_SV(FILE *f_in, char *idstring, int } } if (err) ReadError(idformat,trailer,err); - if (trailer) free(trailer); + if (trailer) swzFree(trailer); return sv; } @@ -285,11 +285,11 @@ int WriteMarkovSpecification_SV(FILE *f_out, TMarkovStateVariable *sv, char *ids sprintf(idbuffer+j,"[%d]",i+1); if (!WriteMarkovSpecification_SV(f_out,sv->state_variable[i],idbuffer)) { - free(idbuffer); + swzFree(idbuffer); return 0; } } - free(idbuffer); + swzFree(idbuffer); } else { @@ -319,7 +319,7 @@ int WriteMarkovSpecification_SV(FILE *f_out, TMarkovStateVariable *sv, char *ids fprintf(f_out,"//******************************************//\n\n"); } - free(trailer); + swzFree(trailer); return 1; } @@ -387,11 +387,11 @@ int ReadTransitionMatrices_SV(FILE *f_in, TMarkovStateVariable* sv, char *header sprintf(idbuffer+j,"[%d]",i+1); if (!ReadTransitionMatrices_SV(f_in,sv->state_variable[i],header,idbuffer)) { - free(idbuffer); + swzFree(idbuffer); return sv->valid_transition_matrix=0; } } - free(idbuffer); + swzFree(idbuffer); MatrixTensor(sv->Q,sv->QA); return sv->valid_transition_matrix=1; } @@ -404,12 +404,12 @@ int ReadTransitionMatrices_SV(FILE *f_in, TMarkovStateVariable* sv, char *header if (err=ReadMatrix(f_in,idbuffer,(char*)NULL,sv->Q)) if (!idstring[0]) { - free(idbuffer); + swzFree(idbuffer); idstring="[1]"; sprintf(idbuffer=(char*)swzMalloc(strlen(header) + strlen(format) + strlen(idstring) - 3),format,header,idstring); err=ReadMatrix(f_in,idbuffer,(char*)NULL,sv->Q); } - free(idbuffer); + swzFree(idbuffer); if (!err) { /* // Scale the columns of Q - loose requirement on sumation to one ansi-c*/ @@ -510,11 +510,11 @@ int ReadBaseTransitionMatrices_SV(FILE *f_in, TMarkovStateVariable* sv, char *he sprintf(idbuffer+j,"[%d]",i+1); if (!ReadBaseTransitionMatrices_SV(f_in,sv->state_variable[i],header,idbuffer)) { - free(idbuffer); + swzFree(idbuffer); return 0; } } - free(idbuffer); + swzFree(idbuffer); MatrixTensor(sv->Q,sv->QA); return 1; } @@ -528,12 +528,12 @@ int ReadBaseTransitionMatrices_SV(FILE *f_in, TMarkovStateVariable* sv, char *he if (err=ReadMatrix(f_in,idbuffer,(char*)NULL,Q)) if (!idstring[0]) { - free(idbuffer); + swzFree(idbuffer); idstring="[1]"; sprintf(idbuffer=(char*)swzMalloc(strlen(header) + strlen(format) + strlen(idstring) - 3),format,header,idstring); err=ReadMatrix(f_in,idbuffer,(char*)NULL,Q); } - free(idbuffer); + swzFree(idbuffer); if (!err) { /* // Scale the columns of Q - loose requirement on sumation to one ansi-c*/ @@ -612,7 +612,7 @@ int WriteTransitionMatrices_SV(FILE *f_out, TMarkovStateVariable* sv, char *head sprintf(idbuffer+j,"[%d]",i+1); WriteTransitionMatrices_SV(f_out,sv->state_variable[i],header,idbuffer); } - free(idbuffer); + swzFree(idbuffer); } return 1; @@ -663,7 +663,7 @@ int WriteBaseTransitionMatrices_SV(FILE *f_out, TMarkovStateVariable* sv, char * sprintf(idbuffer+j,"[%d]",i+1); WriteBaseTransitionMatrices_SV(f_out,sv->state_variable[i],header,idbuffer); } - free(idbuffer); + swzFree(idbuffer); } return 1; @@ -702,7 +702,7 @@ void WriteBaseTransitionMatricesFlat_Headers_SV(FILE *f_out, TMarkovStateVariabl sprintf(idbuffer+j,"[%d]",i+1); WriteBaseTransitionMatricesFlat_Headers_SV(f_out,sv->state_variable[i],idbuffer); } - free(idbuffer); + swzFree(idbuffer); } else { diff --git a/matlab/swz/c-code/sbvar/var/PrintDraws.c b/matlab/swz/c-code/sbvar/var/PrintDraws.c index 2eff8dc90..3364d7061 100644 --- a/matlab/swz/c-code/sbvar/var/PrintDraws.c +++ b/matlab/swz/c-code/sbvar/var/PrintDraws.c @@ -78,7 +78,7 @@ int main(int nargs, char **args) /* //=== Open header file and print headers ansi-c*/ filename=CreateFilenameFromTag("%sheader_%s.dat",cmd->out_tag,cmd->out_directory); f_out=fopen(filename,"wt"); - free(filename); + swzFree(filename); WriteBaseTransitionMatricesFlat_Headers_SV(f_out,model->sv,""); Write_VAR_ParametersFlat_Headers(f_out,model); fprintf(f_out,"\n"); @@ -87,7 +87,7 @@ int main(int nargs, char **args) /* //=== Open output file ansi-c*/ filename=CreateFilenameFromTag("%sdraws_%s.dat",cmd->out_tag,cmd->out_directory); f_out=fopen(filename,"wt"); - free(filename); + swzFree(filename); /* // Burn-in period with calibration of jumping parameters ansi-c*/ printf("Calibrating jumping parameters - %d draws\n",tuning); diff --git a/matlab/swz/c-code/sbvar/var/VARbase.c b/matlab/swz/c-code/sbvar/var/VARbase.c index 0f013f254..582e19a31 100644 --- a/matlab/swz/c-code/sbvar/var/VARbase.c +++ b/matlab/swz/c-code/sbvar/var/VARbase.c @@ -152,7 +152,7 @@ void FreeTheta_VAR(T_VAR_Parameters *p) dw_FreeArray(p->X); /* // Free pointer ansi-c*/ - free(p); + swzFree(p); } } @@ -340,7 +340,7 @@ T_VAR_Parameters* CreateTheta_VAR(int flag, int nvars, int nlags, int nexg, int for (j=nvars-1; j >= 0; j--) { p->constant[j]=CreateVector(p->n_coef_states[j]); - free(pElementV(p->constant[j])); + swzFree(pElementV(p->constant[j])); pElementV(p->constant[j])=pElementV(p->psi[j]) + npre - 1; } /* //-------------------------------------- ansi-c*/ @@ -632,8 +632,8 @@ int **ExpandTranslationTable(int **table, TMarkovStateVariable *sv, TMarkovState for (k=nstates-1; k >= 0; k--) rtable[j][k]=idx[table[j][master[k]]]; } - free(master); - free(idx); + swzFree(master); + swzFree(idx); /* // verbose ansi-c*/ /* //dw_PrintArray(stdout,rtable,(char*)NULL); printf("\n"); dw_PrintArray(stdout,table,(char*)NULL); getchar(); ansi-c*/ @@ -1311,7 +1311,7 @@ void AdaptiveMetropolisScale(TStateModel *model, int iterations, int period, int Adaptive=(struct TAdaptive***)dw_CreateArray_array(p->nvars); for (j=p->nvars-1; j >= 0; j--) { - Adaptive[j]=(struct TAdaptive**)dw_CreateArray_pointer(p->n_coef_states[j],free); + Adaptive[j]=(struct TAdaptive**)dw_CreateArray_pointer(p->n_coef_states[j],swzFree); for (k=p->n_coef_states[j]-1; k >= 0; k--) { Adaptive[j][k]=((struct TAdaptive*)swzMalloc(sizeof(struct TAdaptive))); diff --git a/matlab/swz/c-code/sbvar/var/VARio.c b/matlab/swz/c-code/sbvar/var/VARio.c index 788e6f33b..a6c1ca96a 100644 --- a/matlab/swz/c-code/sbvar/var/VARio.c +++ b/matlab/swz/c-code/sbvar/var/VARio.c @@ -22,7 +22,7 @@ static void ReadError_VARio(char *id) char *errmsg, *fmt="Error after line identifier ""%s"""; sprintf(errmsg=(char*)swzMalloc(strlen(fmt) + strlen(id) - 1),fmt,id); dw_UserError(errmsg); - free(errmsg); + swzFree(errmsg); } static int ReadInteger_VARio(FILE *f_in, char *id) @@ -65,7 +65,7 @@ static FILE* OpenFile_VARio(FILE *f, char *filename) { sprintf(errmsg=(char*)swzMalloc(strlen(fmt) + strlen(filename) - 1),fmt,filename); dw_UserError(errmsg); - free(errmsg); + swzFree(errmsg); } return f; } @@ -129,7 +129,7 @@ TStateModel* Read_VAR_Specification(FILE *f, char *filename) fmt="//== U[%d] ==//"; sprintf(id=(char*)swzMalloc(strlen(fmt) + strlen_int(j+1) - 1),fmt,j+1); ReadMatrix_VARio(f_in,id,U[j]=CreateMatrix(nvars,IV[j])); - free(id); + swzFree(id); } dw_FreeArray(IV); @@ -142,7 +142,7 @@ TStateModel* Read_VAR_Specification(FILE *f, char *filename) fmt="//== V[%d] ==//"; sprintf(id=(char*)swzMalloc(strlen(fmt) + strlen_int(j+1) - 1),fmt,j+1); ReadMatrix_VARio(f_in,id,V[j]=CreateMatrix(npre,IV[j])); - free(id); + swzFree(id); } dw_FreeArray(IV); @@ -155,7 +155,7 @@ TStateModel* Read_VAR_Specification(FILE *f, char *filename) fmt="//== W[%d] ==//"; sprintf(id=(char*)swzMalloc(strlen(fmt) + strlen_int(j+1) - 1),fmt,j+1); ReadMatrix_VARio(f_in,id,W[j]=CreateMatrix(npre,nvars)); - free(id); + swzFree(id); } dw_FreeArray(IV); @@ -169,7 +169,7 @@ TStateModel* Read_VAR_Specification(FILE *f, char *filename) fmt="//== Variance of Gaussian prior on column %d of A0 ==//"; sprintf(id=(char*)swzMalloc(strlen(fmt) + strlen_int(j+1) - 1),fmt,j+1); ReadMatrix_VARio(f_in,id,A0_prior[j]=CreateMatrix(nvars,nvars)); - free(id); + swzFree(id); } Aplus_prior=dw_CreateArray_matrix(nvars); @@ -178,7 +178,7 @@ TStateModel* Read_VAR_Specification(FILE *f, char *filename) fmt="//== Variance of Gaussian prior on column %d of Aplus ==//"; sprintf(id=(char*)swzMalloc(strlen(fmt) + strlen_int(j+1) - 1),fmt,j+1); ReadMatrix_VARio(f_in,id,Aplus_prior[j]=CreateMatrix(npre,npre)); - free(id); + swzFree(id); } /* //=== Specification ===// ansi-c*/ @@ -423,30 +423,30 @@ int Read_VAR_Parameters(FILE *f, char *filename, char *header, TStateModel *mode if (!dw_SetFilePosition(f_in,idbuffer) || !dw_ReadMatrix(f_in,A0[s]=CreateMatrix(p->nvars,p->nvars))) { ReadError_VARio(idbuffer); - free(idbuffer); + swzFree(idbuffer); return 0; } - free(idbuffer); + swzFree(idbuffer); fmt="//== %sAplus[%d] ==//"; sprintf(idbuffer=(char*)swzMalloc(strlen(fmt)+strlen(header)+strlen_int(s+1)-3),fmt,header,s+1); if (!dw_SetFilePosition(f_in,idbuffer) || !dw_ReadMatrix(f_in,Aplus[s]=CreateMatrix(p->npre,p->nvars))) { ReadError_VARio(idbuffer); - free(idbuffer); + swzFree(idbuffer); return 0; } - free(idbuffer); + swzFree(idbuffer); fmt="//== %sZeta[%d] ==//"; sprintf(idbuffer=(char*)swzMalloc(strlen(fmt)+strlen(header)+strlen_int(s+1)-3),fmt,header,s+1); if (!dw_SetFilePosition(f_in,idbuffer) || !dw_ReadMatrix(f_in,Zeta[s]=CreateMatrix(p->nvars,p->nvars))) { ReadError_VARio(idbuffer); - free(idbuffer); + swzFree(idbuffer); return 0; } - free(idbuffer); + swzFree(idbuffer); } /* // Set A0, Aplus, and Zeta ansi-c*/ @@ -679,7 +679,7 @@ void ReadAllParameters(FILE *f, char *filename, char *id, TStateModel *model) sprintf(buffer=(char*)swzMalloc(strlen(fmt) + strlen(id) - 1),fmt,id); ReadArray_VARio(f_in,buffer,model->sv->S); - free(buffer); + swzFree(buffer); ReadTransitionMatrices(f_in,(char*)NULL,id,model); Read_VAR_Parameters(f_in,(char*)NULL,id,model); diff --git a/matlab/swz/c-code/sbvar/var/VARio_matlab.c b/matlab/swz/c-code/sbvar/var/VARio_matlab.c index 46eb9538b..5f49eb913 100644 --- a/matlab/swz/c-code/sbvar/var/VARio_matlab.c +++ b/matlab/swz/c-code/sbvar/var/VARio_matlab.c @@ -15,7 +15,7 @@ static int ReadError_VARio_matlab(char *id) char *errmsg, *fmt="Error after line identifier ""%s"""; sprintf(errmsg=(char*)swzMalloc(strlen(fmt) + strlen(id) - 1),fmt,id); dw_UserError(errmsg); - free(errmsg); + swzFree(errmsg); return 1; } diff --git a/matlab/swz/c-code/sbvar/var/command_line_VAR.c b/matlab/swz/c-code/sbvar/var/command_line_VAR.c index 0f6668865..f00a8f9b8 100644 --- a/matlab/swz/c-code/sbvar/var/command_line_VAR.c +++ b/matlab/swz/c-code/sbvar/var/command_line_VAR.c @@ -195,17 +195,17 @@ void Free_VARCommandLine(TVARCommandLine *cmd) { if (cmd) { - if (cmd->out_directory) free(cmd->out_directory); - if (cmd->in_directory) free(cmd->in_directory); - if (cmd->in_tag) free(cmd->in_tag); - if (cmd->out_tag) free(cmd->out_tag); - if (cmd->out_header) free(cmd->out_header); - if (cmd->specification_filename) free(cmd->specification_filename); - if (cmd->parameters_filename) free(cmd->parameters_filename); - if (cmd->parameters_header) free(cmd->parameters_header); - if (cmd->specification_filename_actual) free(cmd->specification_filename_actual); - if (cmd->parameters_filename_actual) free(cmd->parameters_filename_actual); - if (cmd->parameters_header_actual) free(cmd->parameters_header_actual); + if (cmd->out_directory) swzFree(cmd->out_directory); + if (cmd->in_directory) swzFree(cmd->in_directory); + if (cmd->in_tag) swzFree(cmd->in_tag); + if (cmd->out_tag) swzFree(cmd->out_tag); + if (cmd->out_header) swzFree(cmd->out_header); + if (cmd->specification_filename) swzFree(cmd->specification_filename); + if (cmd->parameters_filename) swzFree(cmd->parameters_filename); + if (cmd->parameters_header) swzFree(cmd->parameters_header); + if (cmd->specification_filename_actual) swzFree(cmd->specification_filename_actual); + if (cmd->parameters_filename_actual) swzFree(cmd->parameters_filename_actual); + if (cmd->parameters_header_actual) swzFree(cmd->parameters_header_actual); } } @@ -296,7 +296,7 @@ TStateModel* CreateTStateModelFromEstimateFinal(int nargs, char **args, TVARComm filename=CreateFilenameFromTag("%s%s",cmd->specification_filename,cmd->in_directory); if (!(model=Read_VAR_Specification((FILE*)NULL,filename))) { - free(filename); + swzFree(filename); return (TStateModel*)NULL; } } @@ -306,14 +306,14 @@ TStateModel* CreateTStateModelFromEstimateFinal(int nargs, char **args, TVARComm filename=CreateFilenameFromTag("%sest_final_%s.dat",cmd->in_tag,cmd->in_directory); if (!(model=Read_VAR_Specification((FILE*)NULL,filename))) { - free(filename); + swzFree(filename); return (TStateModel*)NULL; } } else return (TStateModel*)NULL; - if (cmd->specification_filename_actual) free(cmd->specification_filename_actual); + if (cmd->specification_filename_actual) swzFree(cmd->specification_filename_actual); cmd->specification_filename_actual=filename; filename=(cmd->parameters_filename) @@ -323,14 +323,14 @@ TStateModel* CreateTStateModelFromEstimateFinal(int nargs, char **args, TVARComm if (!ReadTransitionMatrices((FILE*)NULL,filename,cmd->parameters_header,model) || !Read_VAR_Parameters((FILE*)NULL,filename,cmd->parameters_header,model)) { - free(filename); + swzFree(filename); FreeStateModel(model); return (TStateModel*)NULL; } - if (cmd->parameters_filename_actual) free(cmd->parameters_filename_actual); + if (cmd->parameters_filename_actual) swzFree(cmd->parameters_filename_actual); cmd->parameters_filename_actual=filename; - if (cmd->parameters_header_actual) free(cmd->parameters_header_actual); + if (cmd->parameters_header_actual) swzFree(cmd->parameters_header_actual); cmd->parameters_header_actual=dw_DuplicateString(cmd->parameters_header); return model; @@ -358,7 +358,7 @@ int GetLastIteration(TStateModel *model, TVARCommandLine *cmd) filename=CreateFilenameFromTag("%sest_intermediate_%s.dat",cmd->in_tag,cmd->in_directory); if (!(f_in=fopen(filename,"rt"))) { - free(filename); + swzFree(filename); return 0; } @@ -372,7 +372,7 @@ int GetLastIteration(TStateModel *model, TVARCommandLine *cmd) && Read_VAR_Parameters(f_in,(char*)NULL,header,model)) { cont=1; - free(header); + swzFree(header); k++; } else @@ -387,9 +387,9 @@ int GetLastIteration(TStateModel *model, TVARCommandLine *cmd) sprintf(header=(char*)swzMalloc(strlen(fmt) + i - 1),fmt,k); if (ReadTransitionMatrices(f_in,(char*)NULL,header,model) && Read_VAR_Parameters(f_in,(char*)NULL,header,model)) { - if (cmd->parameters_filename_actual) free(cmd->parameters_filename_actual); + if (cmd->parameters_filename_actual) swzFree(cmd->parameters_filename_actual); cmd->parameters_filename_actual=filename; - if (cmd->parameters_header_actual) free(cmd->parameters_header_actual); + if (cmd->parameters_header_actual) swzFree(cmd->parameters_header_actual); cmd->parameters_header_actual=header; dw_SetTerminalErrors(terminal_errors); return 1; @@ -400,16 +400,16 @@ int GetLastIteration(TStateModel *model, TVARCommandLine *cmd) header="Initial: "; if (ReadTransitionMatrices(f_in,(char*)NULL,header,model) && Read_VAR_Parameters(f_in,(char*)NULL,header,model)) { - if (cmd->parameters_filename_actual) free(cmd->parameters_filename_actual); + if (cmd->parameters_filename_actual) swzFree(cmd->parameters_filename_actual); cmd->parameters_filename_actual=filename; - if (cmd->parameters_header_actual) free(cmd->parameters_header_actual); + if (cmd->parameters_header_actual) swzFree(cmd->parameters_header_actual); cmd->parameters_header_actual=dw_DuplicateString(header); dw_SetTerminalErrors(terminal_errors); return 1; } } - free(filename); + swzFree(filename); dw_SetTerminalErrors(terminal_errors); return 0; } @@ -452,7 +452,7 @@ TStateModel* CreateTStateModelForEstimate(int nargs, char **args, TVARCommandLin filename=CreateFilenameFromTag("%s%s",cmd->specification_filename,cmd->in_directory); if (!(model=Read_VAR_Specification((FILE*)NULL,filename))) { - free(filename); + swzFree(filename); dw_SetTerminalErrors(terminal_errors); return (TStateModel*)NULL; } @@ -463,11 +463,11 @@ TStateModel* CreateTStateModelForEstimate(int nargs, char **args, TVARCommandLin filename=CreateFilenameFromTag("%sest_final_%s.dat",cmd->in_tag,cmd->in_directory); if (!(model=Read_VAR_Specification((FILE*)NULL,filename))) { - free(filename); + swzFree(filename); filename=CreateFilenameFromTag("%sinit_%s.dat",cmd->in_tag,cmd->in_directory); if (!(model=Read_VAR_Specification((FILE*)NULL,filename))) { - free(filename); + swzFree(filename); dw_SetTerminalErrors(terminal_errors); return (TStateModel*)NULL; } @@ -479,7 +479,7 @@ TStateModel* CreateTStateModelForEstimate(int nargs, char **args, TVARCommandLin return (TStateModel*)NULL; } - if (cmd->specification_filename_actual) free(cmd->specification_filename_actual); + if (cmd->specification_filename_actual) swzFree(cmd->specification_filename_actual); cmd->specification_filename_actual=filename; if (cmd->parameters_filename) @@ -489,7 +489,7 @@ TStateModel* CreateTStateModelForEstimate(int nargs, char **args, TVARCommandLin if (!ReadTransitionMatrices((FILE*)NULL,filename,header,model) || !Read_VAR_Parameters((FILE*)NULL,filename,header,model)) { - free(filename); + swzFree(filename); FreeStateModel(model); dw_SetTerminalErrors(terminal_errors); return (TStateModel*)NULL; @@ -503,7 +503,7 @@ TStateModel* CreateTStateModelForEstimate(int nargs, char **args, TVARCommandLin if (!ReadTransitionMatrices((FILE*)NULL,filename,header,model) || !Read_VAR_Parameters((FILE*)NULL,filename,header,model)) { - free(filename); + swzFree(filename); FreeStateModel(model); dw_SetTerminalErrors(terminal_errors); return (TStateModel*)NULL; @@ -517,7 +517,7 @@ TStateModel* CreateTStateModelForEstimate(int nargs, char **args, TVARCommandLin if (!ReadTransitionMatrices((FILE*)NULL,filename,header,model) || !Read_VAR_Parameters((FILE*)NULL,filename,header,model)) { - free(filename); + swzFree(filename); if (GetLastIteration(model,cmd)) { dw_SetTerminalErrors(terminal_errors); @@ -538,9 +538,9 @@ TStateModel* CreateTStateModelForEstimate(int nargs, char **args, TVARCommandLin } } - if (cmd->parameters_filename_actual) free(cmd->parameters_filename_actual); + if (cmd->parameters_filename_actual) swzFree(cmd->parameters_filename_actual); cmd->parameters_filename_actual=filename; - if (cmd->parameters_header_actual) free(cmd->parameters_header_actual); + if (cmd->parameters_header_actual) swzFree(cmd->parameters_header_actual); cmd->parameters_header_actual=dw_DuplicateString(header); dw_SetTerminalErrors(terminal_errors); diff --git a/matlab/swz/c-code/sbvar/var/estimate.c b/matlab/swz/c-code/sbvar/var/estimate.c index b7cae7a58..e9fa8a15b 100644 --- a/matlab/swz/c-code/sbvar/var/estimate.c +++ b/matlab/swz/c-code/sbvar/var/estimate.c @@ -145,7 +145,7 @@ void FindMode_VAR_csminwel(TStateModel *model, TEstimateInfo *estimate) sprintf(header=(char*)swzMalloc(strlen(fmt) + i - 1),fmt,total_iteration); WriteTransitionMatrices(f_out,(char*)NULL,header,model); Write_VAR_Parameters(f_out,(char*)NULL,header,model); - free(header); + swzFree(header); fflush(f_out); if (estimate->type == FIND_POSTERIOR_MODE) @@ -194,7 +194,7 @@ void FindMode_VAR_csminwel(TStateModel *model, TEstimateInfo *estimate) sprintf(header=(char*)swzMalloc(strlen(fmt) + i - 1),fmt,total_iteration); WriteTransitionMatrices(f_out,(char*)NULL,header,model); Write_VAR_Parameters(f_out,(char*)NULL,header,model); - free(header); + swzFree(header); fflush(f_out); if (estimate->type == FIND_POSTERIOR_MODE) @@ -204,7 +204,7 @@ void FindMode_VAR_csminwel(TStateModel *model, TEstimateInfo *estimate) } /* //=== Free memory === ansi-c*/ - free(x); + swzFree(x); dw_FreeArray(block); /* //=== Close File === ansi-c*/ @@ -279,7 +279,7 @@ int GetLastIteration(FILE *f_in, TStateModel *model, TEstimateInfo *estimate) if (!dw_SetFilePosition(f_in,id)) { - free(id); + swzFree(id); terminal_errors=dw_SetTerminalErrors(ALL_ERRORS & (~USER_ERR)); fmt="Iteration %d: "; @@ -294,7 +294,7 @@ int GetLastIteration(FILE *f_in, TStateModel *model, TEstimateInfo *estimate) dw_SetTerminalErrors(terminal_errors); return 1; } - free(header); + swzFree(header); k--; } @@ -302,7 +302,7 @@ int GetLastIteration(FILE *f_in, TStateModel *model, TEstimateInfo *estimate) return 0; } - free(id); + swzFree(id); k++; } } @@ -379,10 +379,10 @@ TStateModel* GetModelFromCommandLine(int nargs, char **args, TEstimateInfo *esti estimate->specification_filename=filename; estimate->initialization_filename=filename; estimate->initialization_header=header; - if (d2) free(d2); + if (d2) swzFree(d2); return model; } - free(filename); + swzFree(filename); fmt="%sinit_%s.dat"; sprintf(filename=(char*)swzMalloc(strlen(d1) + strlen(fmt) + strlen(tag) - 3),fmt,d1,tag); @@ -400,12 +400,12 @@ TStateModel* GetModelFromCommandLine(int nargs, char **args, TEstimateInfo *esti { fclose(f_in); estimate->initialization_filename=filename; - if (d2) free(d2); + if (d2) swzFree(d2); return model; } fclose(f_in); } - free(filename); + swzFree(filename); fmt="%sinit_%s.dat"; sprintf(filename=(char*)swzMalloc(strlen(d1) + strlen(fmt) + strlen(tag) - 3),fmt,d1,tag); @@ -418,15 +418,15 @@ TStateModel* GetModelFromCommandLine(int nargs, char **args, TEstimateInfo *esti printf("Using initial data\n"); estimate->initialization_filename=filename; estimate->initialization_header=header; - if (d2) free(d2); + if (d2) swzFree(d2); return model; } FreeStateModel(model); } - free(filename); + swzFree(filename); - //if (d2) free(d2); + //if (d2) swzFree(d2); //swz_fprintf_err("GetModelFromCommandLine(): Unable to create model.\n"); goto ERROR; } @@ -446,12 +446,12 @@ TStateModel* GetModelFromCommandLine(int nargs, char **args, TEstimateInfo *esti estimate->initialization_filename=filename; estimate->initialization_header=header; - if (d2) free(d2); + if (d2) swzFree(d2); return model; } ERROR: - if (d2) free(d2); + if (d2) swzFree(d2); //swz_fprintf_err("GetModelFromCommandLine(): No specification file defined.\n"); return (TStateModel*)NULL; } @@ -530,7 +530,7 @@ TEstimateInfo* GetEstimateInfoFromCommandLine(int nargs, char **args) //, TState sprintf(estimate->final_output_filename=(char*)swzMalloc(strlen(d1) + strlen(fmt) + strlen(tag) - 3),fmt,d1,tag); fmt="%sest_aux_%s.dat"; sprintf(estimate->aux_output_filename=(char*)swzMalloc(strlen(d1) + strlen(fmt) + strlen(tag) - 3),fmt,d1,tag); - if (d2) free(d2); + if (d2) swzFree(d2); // Posterior mode or MLE estimate->type=(dw_FindArgument_String(nargs,args,"MLE") >= 0) ? FIND_LIKELIHOOD_MODE : FIND_POSTERIOR_MODE; @@ -658,7 +658,7 @@ int main(int nargs, char **args) fclose(f_out); } - free(filename); + swzFree(filename); /* // Write flat file ansi-c*/ filename=CreateFilenameFromTag("%sest_flat_header_%s.dat",estimate->cmd->out_tag,estimate->cmd->out_directory); @@ -669,7 +669,7 @@ int main(int nargs, char **args) fprintf(f_out,"\n"); fclose(f_out); } - free(filename); + swzFree(filename); filename=CreateFilenameFromTag("%sest_flat_%s.dat",estimate->cmd->out_tag,estimate->cmd->out_directory); if (f_out=fopen(filename,"wt")) { @@ -681,7 +681,7 @@ int main(int nargs, char **args) fprintf(f_out,"\n"); fclose(f_out); } - free(filename); + swzFree(filename); /* // Write aux output ansi-c*/ filename=CreateFilenameFromTag("%sest_aux_%s.dat",estimate->cmd->out_tag,estimate->cmd->out_directory); @@ -702,7 +702,7 @@ int main(int nargs, char **args) FreeVector(y); fclose(f_out); } - free(filename); + swzFree(filename); /* // Free memory ansi-c*/ FreeStateModel(model); @@ -714,7 +714,7 @@ int main(int nargs, char **args) if (estimate) { if (estimate->cmd) Free_VARCommandLine(estimate->cmd); - free(estimate); + swzFree(estimate); } } diff --git a/matlab/swz/c-code/sbvar/var/mhm_VAR.c b/matlab/swz/c-code/sbvar/var/mhm_VAR.c index 2adcdf952..c59c01a2f 100644 --- a/matlab/swz/c-code/sbvar/var/mhm_VAR.c +++ b/matlab/swz/c-code/sbvar/var/mhm_VAR.c @@ -63,7 +63,7 @@ void FreeMHM(T_MHM *mhm) dw_FreeArray(mhm->BaseAlpha); dw_FreeArray(mhm->Alpha); - free(mhm); + swzFree(mhm); } } @@ -427,7 +427,7 @@ static int ReadError_MHMio(char *id) char *errmsg, *fmt="Error involving line identifier \"%s\""; sprintf(errmsg=(char*)swzMalloc(strlen(fmt) + strlen(id) - 1),fmt,id); dw_UserError(errmsg); - free(errmsg); + swzFree(errmsg); return 0; } diff --git a/matlab/swz/c-code/sbvar/var/mhm_VAR_main_1.c b/matlab/swz/c-code/sbvar/var/mhm_VAR_main_1.c index a918e6710..5c3a33015 100644 --- a/matlab/swz/c-code/sbvar/var/mhm_VAR_main_1.c +++ b/matlab/swz/c-code/sbvar/var/mhm_VAR_main_1.c @@ -21,7 +21,7 @@ static void ReadError_MHMio(char *id) char *errmsg, *fmt="Error after line identifier ""%s"""; sprintf(errmsg=(char*)swzMalloc(strlen(fmt) + strlen(id) - 1),fmt,id); dw_UserError(errmsg); - free(errmsg); + swzFree(errmsg); } /* @@ -259,14 +259,14 @@ T_MHM* CreateMHM_CommandLine(int nargs, char **args) mhm=rtrn; else { - free(spec_filename); + swzFree(spec_filename); fmt="%smhm_intermediate_%s.dat"; sprintf(spec_filename=(char*)swzMalloc(strlen(d_in) + strlen(fmt) + strlen(tag) - 3),fmt,d_in,tag); if (rtrn=RestartFromIntermediateFile(spec_filename,mhm)) mhm=rtrn; else { - free(spec_filename); + swzFree(spec_filename); fmt="%sest_final_%s.dat"; sprintf(spec_filename=(char*)swzMalloc(strlen(d_in) + strlen(fmt) + strlen(tag) - 3),fmt,d_in,tag); if (!(f_in=fopen(spec_filename,"rt"))) @@ -334,8 +334,8 @@ T_MHM* CreateMHM_CommandLine(int nargs, char **args) /* //fmt="%smhm_draws_states_not_integrated_%s.dat"; ansi-c*/ /* //sprintf(mhm->states_not_integrated_out_filename=(char*)swzMalloc(strlen(d_out) + strlen(fmt) + strlen(tag) - 3),fmt,d_out,tag); ansi-c*/ - free(d_in); - free(d_out); + swzFree(d_in); + swzFree(d_out); return mhm; } #undef LOG_TWO_PI diff --git a/matlab/swz/c-code/sbvar/var/probabilities.c b/matlab/swz/c-code/sbvar/var/probabilities.c index db740f063..08efffb73 100644 --- a/matlab/swz/c-code/sbvar/var/probabilities.c +++ b/matlab/swz/c-code/sbvar/var/probabilities.c @@ -130,9 +130,9 @@ int main(int nargs, char **args) fprintf(f_out,"\n"); } - free(spec); - free(out); - free(head); - free(parm); + swzFree(spec); + swzFree(out); + swzFree(head); + swzFree(parm); } diff --git a/matlab/swz/c-code/utilities/DWCcode/arrays/dw_array.c b/matlab/swz/c-code/utilities/DWCcode/arrays/dw_array.c index d06669c90..9ac252342 100644 --- a/matlab/swz/c-code/utilities/DWCcode/arrays/dw_array.c +++ b/matlab/swz/c-code/utilities/DWCcode/arrays/dw_array.c @@ -50,8 +50,8 @@ void dw_FreeArray(void* a) for (i=(size=dw_ElementSizeA(a))*(dw_DimA(a)-1); i >= 0; i-=size) Destructor((void*)(((char*)a) + i)); offset=dw_GetOffsetA(a); - if (dw_DeleteSpecsA(a)) free(dw_SpecsA(a)); - free((void*)(((char*)a) - offset)); + if (dw_DeleteSpecsA(a)) swzFree(dw_SpecsA(a)); + swzFree((void*)(((char*)a) - offset)); } } @@ -375,7 +375,7 @@ static int dw_CopyString(void *d, void *s) else if (*((char**)d)) { - free(*((char**)d)); + swzFree(*((char**)d)); *((char**)d)=(char*)NULL; } return 1; @@ -412,7 +412,7 @@ void* dw_CreateMultidimensionalArrayList(TElementSpecification *specs, int depth for (i=0; i < depth; i++) dim[i]=va_arg(ap,int); va_end(ap); a=dw_CreateMultidimensionalArray(specs,depth,dim); - free(dim); + swzFree(dim); } return a; } @@ -428,7 +428,7 @@ void* dw_CreateMultidimensionalArrayList_string(int depth, ...) for (i=0; i < depth; i++) dim[i]=va_arg(ap,int); va_end(ap); a=dw_CreateMultidimensionalArray_string(depth,dim); - free(dim); + swzFree(dim); } return a; } @@ -444,7 +444,7 @@ void* dw_CreateMultidimensionalArrayList_int(int depth, ...) for (i=0; i < depth; i++) dim[i]=va_arg(ap,int); va_end(ap); a=dw_CreateMultidimensionalArray_int(depth,dim); - free(dim); + swzFree(dim); } return a; } @@ -460,7 +460,7 @@ void* dw_CreateMultidimensionalArrayList_double(int depth, ...) for (i=0; i < depth; i++) dim[i]=va_arg(ap,int); va_end(ap); a=dw_CreateMultidimensionalArray_double(depth,dim); - free(dim); + swzFree(dim); } return a; } @@ -476,7 +476,7 @@ void* dw_CreateMultidimensionalArrayList_float(int depth, ...) for (i=0; i < depth; i++) dim[i]=va_arg(ap,int); va_end(ap); a=dw_CreateMultidimensionalArray_float(depth,dim); - free(dim); + swzFree(dim); } return a; } @@ -492,7 +492,7 @@ void* dw_CreateMultidimensionalArrayList_char(int depth, ...) for (i=0; i < depth; i++) dim[i]=va_arg(ap,int); va_end(ap); a=dw_CreateMultidimensionalArray_char(depth,dim); - free(dim); + swzFree(dim); } return a; } @@ -625,7 +625,7 @@ TElementSpecification dw_StringSpecs = dw_ARRAY_POINTER, sizeof(char*), sizeof(char*)*((sizeof(int)+sizeof(TElementSpecification*)+sizeof(char*)-1)/sizeof(char*)), - free, + swzFree, DefaultPointerConstructor, NULL, dw_CopyString, diff --git a/matlab/swz/c-code/utilities/DWCcode/arrays/dw_matrix_array.c b/matlab/swz/c-code/utilities/DWCcode/arrays/dw_matrix_array.c index 10756d27d..9ca7ff978 100644 --- a/matlab/swz/c-code/utilities/DWCcode/arrays/dw_matrix_array.c +++ b/matlab/swz/c-code/utilities/DWCcode/arrays/dw_matrix_array.c @@ -149,7 +149,7 @@ TMatrix MatrixTensor(TMatrix X, TMatrix* Y) U=V; V=W; } - free(Z); + swzFree(Z); } else if (dw_DimA(Y) > 1) @@ -237,7 +237,7 @@ TVector VectorTensor(TVector x, TVector* y) u=v; v=w; } - free(z); + swzFree(z); } else if (dw_DimA(y) > 1) diff --git a/matlab/swz/c-code/utilities/DWCcode/ascii/dw_ascii.c b/matlab/swz/c-code/utilities/DWCcode/ascii/dw_ascii.c index 21848479b..71008d9fa 100644 --- a/matlab/swz/c-code/utilities/DWCcode/ascii/dw_ascii.c +++ b/matlab/swz/c-code/utilities/DWCcode/ascii/dw_ascii.c @@ -98,7 +98,7 @@ char* dw_ReadLine(FILE *f, char *buffer, int *n) else if (!(nbuffer=(char*)swzRealloc(buffer,*n+=SIZE_INCREMENT))) { - free(buffer); + swzFree(buffer); *n=0; return (char*)NULL; } @@ -108,7 +108,7 @@ char* dw_ReadLine(FILE *f, char *buffer, int *n) return buffer; else { - free(buffer); + swzFree(buffer); *n=0; return (char*)NULL; } @@ -154,7 +154,7 @@ char** dw_ParseDelimitedString(char *buffer, char delimiter, int flag) v[k][head->length]='\0'; ptr=head; head=head->next; - free(ptr); + swzFree(ptr); } return v; } @@ -182,7 +182,7 @@ char** dw_ReadDelimitedLine(FILE *f, char delimiter, int flag) if (buffer) { v=dw_ParseDelimitedString(buffer,delimiter,flag); - free(buffer); + swzFree(buffer); } return v; } @@ -237,7 +237,7 @@ char*** dw_ReadDelimitedFile(FILE *f, char* filename, char delimiter, int flag) M[n]=head->line; ptr=head; head=head->next; - free(ptr); + swzFree(ptr); } } } @@ -382,7 +382,7 @@ int dw_SetFilePosition(FILE *f, char *id) while (buffer=dw_ReadLine(f,buffer,&m)) if (!memcmp(buffer,id,n)) { - free(buffer); + swzFree(buffer); return 1; } if (pos > 0) @@ -391,10 +391,10 @@ int dw_SetFilePosition(FILE *f, char *id) while ((ftell(f) < pos) && (buffer=dw_ReadLine(f,buffer,&m))) if (!memcmp(buffer,id,n)) { - free(buffer); + swzFree(buffer); return 1; } - if (buffer) free(buffer); + if (buffer) swzFree(buffer); } } return 0; diff --git a/matlab/swz/c-code/utilities/DWCcode/matrix/bmatrix_blas_lapack.c b/matlab/swz/c-code/utilities/DWCcode/matrix/bmatrix_blas_lapack.c index 51b249e2f..cbfbc3a14 100644 --- a/matlab/swz/c-code/utilities/DWCcode/matrix/bmatrix_blas_lapack.c +++ b/matlab/swz/c-code/utilities/DWCcode/matrix/bmatrix_blas_lapack.c @@ -532,12 +532,12 @@ int bLU(int *p, PRECISION *x, int m, int n, int xt) getrf(&m2,&n2,y,&m2,p2,&info); bTranspose(x,y,m,n,1); - free(y); + swzFree(y); } for(i=0; i= 0; i--) p[i]--; return (info < 0) ? SING_ERR : NO_ERR; @@ -989,7 +989,7 @@ int bSVD_new(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int else if (!(U_=(PRECISION*)swzMalloc(m*qu*sizeof(PRECISION)))) { - free(A_); + swzFree(A_); return MEM_ERR; } } @@ -1017,8 +1017,8 @@ int bSVD_new(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int else if (!(V_=(PRECISION*)swzMalloc(n*qv*sizeof(PRECISION)))) { - free(A_); - if (U_ && (U_ != U)) free(U_); + swzFree(A_); + if (U_ && (U_ != U)) swzFree(U_); return MEM_ERR; } } @@ -1037,7 +1037,7 @@ int bSVD_new(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int else { gesvd(&jobu,&jobv,&m2,&n2,A_,&m2,d,U_,&m2,V_,&qv2,work,&k,&info); - free(work); + swzFree(work); if (info) err=BLAS_LAPACK_ERR; else @@ -1048,9 +1048,9 @@ int bSVD_new(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int } } - free(A_); - if (U_ && (U_ != U)) free(U_); - if (V_ && (V_ != V)) free(V_); + swzFree(A_); + if (U_ && (U_ != U)) swzFree(U_); + if (V_ && (V_ != V)) swzFree(V_); return err; @@ -1139,7 +1139,7 @@ int bSVD_new(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int /* else */ /* { */ /* gesvd(&jobu,&jobv,&m_,&n_,A_,&m_,d,U_,&m_,V_,&qv_,work,&k,&info); */ -/* free(work); */ +/* swzFree(work); */ /* if (info) */ /* err=BLAS_LAPACK_ERR; */ /* else */ @@ -1164,23 +1164,23 @@ int bSVD_new(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int /* } */ /* } */ -/* free(A_); */ +/* swzFree(A_); */ /* if (transpose) */ /* { */ /* if (U != V_) */ -/* free(V_); */ +/* swzFree(V_); */ /* else */ /* if (V != U_) */ -/* free(U_); */ +/* swzFree(U_); */ /* } */ /* else */ /* { */ /* if (U != U_) */ -/* free(U_); */ +/* swzFree(U_); */ /* else */ /* if (V != V_) */ -/* free(V_); */ +/* swzFree(V_); */ /* } */ /* return err; */ @@ -1270,7 +1270,7 @@ int bSVD(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int n, i memcpy(X,A,m*n*sizeof(PRECISION)); if (!(iwork=(int*)swzMalloc(8*((m < n) ? m : n)*sizeof(int)))) { - free(X); + swzFree(X); return MEM_ERR; } k=-1; @@ -1283,16 +1283,16 @@ int bSVD(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int n, i gesvd(&jobz,&jobz,&m2,&n2,X,&m2,d,U,&m2,V,&n2,&opt_size,&k,&info); if (info || !(work=(PRECISION*)swzMalloc((k=(int)opt_size)*sizeof(PRECISION)))) { - free(iwork); - free(X); + swzFree(iwork); + swzFree(X); return info ? BLAS_LAPACK_ERR : MEM_ERR; } gesvd(&jobz,&jobz,&m2,&n2,X,&m2,d,U,&m2,V,&n2,work,&k,&info); if (info) { - free(work); - free(iwork); - free(X); + swzFree(work); + swzFree(iwork); + swzFree(X); return BLAS_LAPACK_ERR; } if (!ut) @@ -1307,16 +1307,16 @@ int bSVD(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int n, i gesvd(&jobz,&jobz,&n2,&m2,X,&n2,d,V,&n2,U,&m2,&opt_size,&k,&info); if (info || !(work=(PRECISION*)swzMalloc((k=(int)opt_size)*sizeof(PRECISION)))) { - free(iwork); - free(X); + swzFree(iwork); + swzFree(X); return info ? BLAS_LAPACK_ERR : MEM_ERR; } gesvd(&jobz,&jobz,&n2,&m2,X,&n2,d,V,&n2,U,&m2,work,&k,&info); if (info) { - free(work); - free(iwork); - free(X); + swzFree(work); + swzFree(iwork); + swzFree(X); return BLAS_LAPACK_ERR; } if (!vt) @@ -1324,9 +1324,9 @@ int bSVD(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int n, i if (ut) bTransposeInPlace(U,m); } - free(work); - free(iwork); - free(X); + swzFree(work); + swzFree(iwork); + swzFree(X); return NO_ERR; #undef gesvd @@ -1343,7 +1343,7 @@ int bSVD(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int n, i /* memcpy(X,A,m*n*sizeof(PRECISION)); */ /* if (!(iwork=(int*)swzMalloc(8*((m < n) ? m : n)*sizeof(int)))) */ /* { */ -/* free(X); */ +/* swzFree(X); */ /* return MEM_ERR; */ /* } */ /* k=-1; */ @@ -1352,16 +1352,16 @@ int bSVD(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int n, i /* gesdd(&jobz,&m,&n,X,&m,d,U,&m,V,&n,&opt_size,&k,iwork,&info); */ /* if (info || !(work=(PRECISION*)swzMalloc((k=(int)opt_size)*sizeof(PRECISION)))) */ /* { */ -/* free(iwork); */ -/* free(X); */ +/* swzFree(iwork); */ +/* swzFree(X); */ /* return info ? BLAS_LAPACK_ERR : MEM_ERR; */ /* } */ /* gesdd(&jobz,&m,&n,X,&m,d,U,&m,V,&n,work,&k,iwork,&info); */ /* if (info) */ /* { */ -/* free(work); */ -/* free(iwork); */ -/* free(X); */ +/* swzFree(work); */ +/* swzFree(iwork); */ +/* swzFree(X); */ /* return BLAS_LAPACK_ERR; */ /* } */ /* if (!ut) */ @@ -1374,16 +1374,16 @@ int bSVD(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int n, i /* gesdd(&jobz,&n,&m,X,&n,d,V,&n,U,&m,&opt_size,&k,iwork,&info); */ /* if (!(work=(PRECISION*)swzMalloc((k=(int)opt_size)*sizeof(PRECISION)))) */ /* { */ -/* free(iwork); */ -/* free(X); */ +/* swzFree(iwork); */ +/* swzFree(X); */ /* return MEM_ERR; */ /* } */ /* gesdd(&jobz,&n,&m,X,&n,d,V,&n,U,&m,work,&k,iwork,&info); */ /* if (info) */ /* { */ -/* free(work); */ -/* free(iwork); */ -/* free(X); */ +/* swzFree(work); */ +/* swzFree(iwork); */ +/* swzFree(X); */ /* return BLAS_LAPACK_ERR; */ /* } */ /* if (!vt) */ @@ -1391,9 +1391,9 @@ int bSVD(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int n, i /* if (ut) */ /* bTransposeInPlace(U,m); */ /* } */ -/* free(work); */ -/* free(iwork); */ -/* free(X); */ +/* swzFree(work); */ +/* swzFree(iwork); */ +/* swzFree(X); */ /* return NO_ERR; */ /* #undef gesdd */ @@ -1493,16 +1493,16 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i if (!(work=(PRECISION*)swzMalloc((lwork=(int)opt_size)*sizeof(PRECISION)))) { - free(tau); + swzFree(tau); return MEM_ERR; } geqrf(&m2,&n2,X,&m2,tau,work,&lwork,&info); - free(work); + swzFree(work); if (info) { - free(tau); + swzFree(tau); return ARG_ERR; } if (Q) @@ -1512,7 +1512,7 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i else if (!(ptr=(PRECISION*)swzMalloc(m*q*sizeof(PRECISION)))) { - free(tau); + swzFree(tau); return MEM_ERR; } memcpy(ptr,X,m*p*sizeof(PRECISION)); @@ -1524,24 +1524,24 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i if (!(work=(PRECISION*)swzMalloc((lwork=(int)opt_size)*sizeof(PRECISION)))) { - if (!qt) free(ptr); - free(tau); + if (!qt) swzFree(ptr); + swzFree(tau); return MEM_ERR; } orgqr(&m2,&q2,&p2,ptr,&m2,tau,work,&lwork,&info); - free(work); + swzFree(work); if (!qt) { bTranspose(Q,ptr,m,q,1); - free(ptr); + swzFree(ptr); } - free(tau); + swzFree(tau); if (info) return ARG_ERR; } else - free(tau); + swzFree(tau); if (R != X) if (rt) for (k=q*n, j=n-1; j >= 0; j--) @@ -1570,16 +1570,16 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i if (!(work=(PRECISION*)swzMalloc((lwork=(int)opt_size)*sizeof(PRECISION)))) { - free(tau); + swzFree(tau); return MEM_ERR; } gelqf(&n2,&m2,X,&n2,tau,work,&lwork,&info); - free(work); + swzFree(work); if (info) { - free(tau); + swzFree(tau); return ARG_ERR; } if (Q) @@ -1589,7 +1589,7 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i else if (!(ptr=(PRECISION*)swzMalloc(m*q*sizeof(PRECISION)))) { - free(tau); + swzFree(tau); return MEM_ERR; } if (q == n) @@ -1612,24 +1612,24 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i if (!(work=(PRECISION*)swzMalloc((lwork=(int)opt_size)*sizeof(PRECISION)))) { - if (!qt) free(ptr); - free(tau); + if (!qt) swzFree(ptr); + swzFree(tau); return MEM_ERR; } orglq(&q2,&m2,&p2,ptr,&q2,tau,work,&lwork,&info); - free(work); + swzFree(work); if (qt) { bTranspose(Q,ptr,q,m,1); - free(ptr); + swzFree(ptr); } - free(tau); + swzFree(tau); if (info) return ARG_ERR; } else - free(tau); + swzFree(tau); if (R != X) if (rt) for (k=n*q, i=n-1; i >= 0; i--) @@ -1759,7 +1759,7 @@ int bQZ_real(PRECISION *Q, PRECISION *Z, PRECISION *S, PRECISION *T, PRECISION * } else rtrn=BLAS_LAPACK_ERR; - free(work); + swzFree(work); } else rtrn=BLAS_LAPACK_ERR; @@ -1767,9 +1767,9 @@ int bQZ_real(PRECISION *Q, PRECISION *Z, PRECISION *S, PRECISION *T, PRECISION * else rtrn=MEM_ERR; - if (!alpha_r && palpha_r) free(palpha_r); - if (!alpha_i && palpha_i) free(palpha_i); - if (!beta && pbeta) free(pbeta); + if (!alpha_r && palpha_r) swzFree(palpha_r); + if (!alpha_i && palpha_i) swzFree(palpha_i); + if (!beta && pbeta) swzFree(pbeta); return rtrn; @@ -1914,16 +1914,16 @@ int bReorderQZ_real(int *select, PRECISION *QQ, PRECISION *ZZ, PRECISION *SS, PR } else rtrn=BLAS_LAPACK_ERR; - free(work); + swzFree(work); } else rtrn=BLAS_LAPACK_ERR; } - if (!alpha_r && palpha_r) free(palpha_r); - if (!alpha_i && palpha_i) free(palpha_i); - if (!beta && pbeta) free(pbeta); - free(select2); + if (!alpha_r && palpha_r) swzFree(palpha_r); + if (!alpha_i && palpha_i) swzFree(palpha_i); + if (!beta && pbeta) swzFree(pbeta); + swzFree(select2); return rtrn; @@ -2138,7 +2138,7 @@ int bSortQZ_real(int *select, PRECISION *QQ, PRECISION *ZZ, PRECISION *SS, PRECI } - free(work); + swzFree(work); if (rtrn == NO_ERR) { @@ -2150,8 +2150,8 @@ int bSortQZ_real(int *select, PRECISION *QQ, PRECISION *ZZ, PRECISION *SS, PRECI } } - if (pairs) free(pairs); - if (gev) free(gev); + if (pairs) swzFree(pairs); + if (gev) swzFree(gev); return rtrn; diff --git a/matlab/swz/c-code/utilities/DWCcode/matrix/bmatrix_native.c b/matlab/swz/c-code/utilities/DWCcode/matrix/bmatrix_native.c index bccde4d84..b0cceb91e 100644 --- a/matlab/swz/c-code/utilities/DWCcode/matrix/bmatrix_native.c +++ b/matlab/swz/c-code/utilities/DWCcode/matrix/bmatrix_native.c @@ -815,7 +815,7 @@ int bLU(int *p, PRECISION *x, int m, int n, int xt) #endif bTranspose(x,y,m,n,1); - free(y); + swzFree(y); } for (i=(m < n) ? m-1 : n-1; i >= 0; i--) p[i]--; return (info < 0) ? SING_ERR : NO_ERR; @@ -1710,7 +1710,7 @@ static int bSVD_NumericalRecipes(PRECISION *U, PRECISION *d, PRECISION *V, int m if (its >= MAX_ITER) { - free(rv1); + swzFree(rv1); return ITERATION_ERR; } @@ -1776,7 +1776,7 @@ static int bSVD_NumericalRecipes(PRECISION *U, PRECISION *d, PRECISION *V, int m } } - free(rv1); + swzFree(rv1); return 0; } @@ -1910,7 +1910,7 @@ int bSVD_new(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int else { gesvd(&jobu,&jobv,&m_,&n_,A_,&m_,d,U_,&m_,V_,&qv_,work,&k,&info); - free(work); + swzFree(work); if (info) err=BLAS_LAPACK_ERR; else @@ -1935,23 +1935,23 @@ int bSVD_new(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int } } - free(A_); + swzFree(A_); if (transpose) { if (U != V_) - free(V_); + swzFree(V_); else if (V != U_) - free(U_); + swzFree(U_); } else { if (U != U_) - free(U_); + swzFree(U_); else if (V != V_) - free(V_); + swzFree(V_); } return err; @@ -2003,9 +2003,9 @@ int bSVD_new(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int /* for (i=m-1; i >= 0; i--) memcpy(U+i*m,NU+i*n,m*sizeof(PRECISION)); */ /* memcpy(d,nd,m*sizeof(PRECISION)); */ /* rtrn=NO_ERR; */ -/* free(nd); */ +/* swzFree(nd); */ /* } */ - free(NU); + swzFree(NU); } else if (!(NU=(PRECISION*)swzMalloc(m*n*sizeof(PRECISION)))) @@ -2022,7 +2022,7 @@ int bSVD_new(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int if (NU[i*n+i] < 0) for (j=(m-1)*m+i; j >= 0; j-=m) U[j]=-U[j]; rtrn=NO_ERR; - free(NU); + swzFree(NU); } if (vt) bTransposeInPlace(V,n); if (ut) bTransposeInPlace(U,m); @@ -2109,7 +2109,7 @@ int bSVD(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int n, i memcpy(X,A,m*n*sizeof(PRECISION)); if (!(iwork=(int*)swzMalloc(8*((m < n) ? m : n)*sizeof(int)))) { - free(X); + swzFree(X); return MEM_ERR; } k=-1; @@ -2118,28 +2118,28 @@ int bSVD(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int n, i /* gesdd(&jobz,&m,&n,X,&m,d,U,&m,V,&n,&opt_size,&k,iwork,&info); */ /* if (info || !(work=(PRECISION*)swzMalloc((k=(int)opt_size)*sizeof(PRECISION)))) */ /* { */ -/* free(iwork); */ -/* free(X); */ +/* swzFree(iwork); */ +/* swzFree(X); */ /* return info ? BLAS_LAPACK_ERR : MEM_ERR; */ /* } */ /* gesdd(&jobz,&m,&n,X,&m,d,U,&m,V,&n,work,&k,iwork,&info); */ /* if (info) */ /* { */ -/* free(work); */ +/* swzFree(work); */ memcpy(X,A,m*n*sizeof(PRECISION)); k=-1; gesvd(&jobz,&jobz,&m,&n,X,&m,d,U,&m,V,&n,&opt_size,&k,&info); if (info || !(work=(PRECISION*)swzMalloc((k=(int)opt_size)*sizeof(PRECISION)))) { - free(iwork); - free(X); + swzFree(iwork); + swzFree(X); return info ? BLAS_LAPACK_ERR : MEM_ERR; } gesvd(&jobz,&jobz,&m,&n,X,&m,d,U,&m,V,&n,work,&k,&info); if (info) { - free(iwork); - free(X); + swzFree(iwork); + swzFree(X); return BLAS_LAPACK_ERR; } /* } */ @@ -2153,28 +2153,28 @@ int bSVD(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int n, i /* gesdd(&jobz,&n,&m,X,&n,d,V,&n,U,&m,&opt_size,&k,iwork,&info); */ /* if (!(work=(PRECISION*)swzMalloc((k=(int)opt_size)*sizeof(PRECISION)))) */ /* { */ -/* free(iwork); */ -/* free(X); */ +/* swzFree(iwork); */ +/* swzFree(X); */ /* return MEM_ERR; */ /* } */ /* gesdd(&jobz,&n,&m,X,&n,d,V,&n,U,&m,work,&k,iwork,&info); */ /* if (info) */ /* { */ -/* free(work); */ +/* swzFree(work); */ memcpy(X,A,m*n*sizeof(PRECISION)); k=-1; gesvd(&jobz,&jobz,&n,&m,X,&n,d,V,&n,U,&m,&opt_size,&k,&info); if (info || !(work=(PRECISION*)swzMalloc((k=(int)opt_size)*sizeof(PRECISION)))) { - free(iwork); - free(X); + swzFree(iwork); + swzFree(X); return info ? BLAS_LAPACK_ERR : MEM_ERR; } gesvd(&jobz,&jobz,&n,&m,X,&n,d,V,&n,U,&m,work,&k,&info); if (info) { - free(iwork); - free(X); + swzFree(iwork); + swzFree(X); return BLAS_LAPACK_ERR; } /* } */ @@ -2183,9 +2183,9 @@ int bSVD(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int n, i if (ut) bTransposeInPlace(U,m); } - free(work); - free(iwork); - free(X); + swzFree(work); + swzFree(iwork); + swzFree(X); return NO_ERR; #undef gesdd #undef gesvd @@ -2236,9 +2236,9 @@ int bSVD(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int n, i /* for (i=m-1; i >= 0; i--) memcpy(U+i*m,NU+i*n,m*sizeof(PRECISION)); */ /* memcpy(d,nd,m*sizeof(PRECISION)); */ /* rtrn=NO_ERR; */ -/* free(nd); */ +/* swzFree(nd); */ /* } */ - free(NU); + swzFree(NU); } else if (!(NU=(PRECISION*)swzMalloc(m*n*sizeof(PRECISION)))) @@ -2255,7 +2255,7 @@ int bSVD(PRECISION *U, PRECISION *d, PRECISION *V, PRECISION *A, int m, int n, i if (NU[i*n+i] < 0) for (j=(m-1)*m+i; j >= 0; j-=m) U[j]=-U[j]; rtrn=NO_ERR; - free(NU); + swzFree(NU); } if (vt) bTransposeInPlace(V,n); if (ut) bTransposeInPlace(U,m); @@ -2359,7 +2359,7 @@ static int bQR_NumericalRecipes(PRECISION *Q, PRECISION *R, int m, int n) for (i=k+1; i < m; i++) R[i*n+k]=0; - free(diag); + swzFree(diag); return 0; } @@ -2493,7 +2493,7 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i #endif if (!(work=(PRECISION*)swzMalloc((lwork=(int)opt_size)*sizeof(PRECISION)))) { - free(tau); + swzFree(tau); return MEM_ERR; } #if (PRECISION_SIZE == 4) @@ -2501,10 +2501,10 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i #else dgeqrf(&m,&n,X,&m,tau,work,&lwork,&info); #endif - free(work); + swzFree(work); if (info) { - free(tau); + swzFree(tau); return ARG_ERR; } if (Q) @@ -2514,7 +2514,7 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i else if (!(ptr=(PRECISION*)swzMalloc(m*q*sizeof(PRECISION)))) { - free(tau); + swzFree(tau); return MEM_ERR; } memcpy(ptr,X,m*p*sizeof(PRECISION)); @@ -2526,8 +2526,8 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i #endif if (!(work=(PRECISION*)swzMalloc((lwork=(int)opt_size)*sizeof(PRECISION)))) { - if (!qt) free(ptr); - free(tau); + if (!qt) swzFree(ptr); + swzFree(tau); return MEM_ERR; } #if (PRECISION_SIZE == 4) @@ -2535,17 +2535,17 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i #else dorgqr(&m,&q,&p,ptr,&m,tau,work,&lwork,&info); #endif - free(work); + swzFree(work); if (!qt) { bTranspose(Q,ptr,m,q,1); - free(ptr); + swzFree(ptr); } - free(tau); + swzFree(tau); if (info) return ARG_ERR; } else - free(tau); + swzFree(tau); if (R != X) if (rt) for (k=q*n, j=n-1; j >= 0; j--) @@ -2575,7 +2575,7 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i #endif if (!(work=(PRECISION*)swzMalloc((lwork=(int)opt_size)*sizeof(PRECISION)))) { - free(tau); + swzFree(tau); return MEM_ERR; } #if (PRECISION_SIZE == 4) @@ -2583,10 +2583,10 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i #else dgelqf(&n,&m,X,&n,tau,work,&lwork,&info); #endif - free(work); + swzFree(work); if (info) { - free(tau); + swzFree(tau); return ARG_ERR; } if (Q) @@ -2596,7 +2596,7 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i else if (!(ptr=(PRECISION*)swzMalloc(m*q*sizeof(PRECISION)))) { - free(tau); + swzFree(tau); return MEM_ERR; } if (q == n) @@ -2618,8 +2618,8 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i #endif if (!(work=(PRECISION*)swzMalloc((lwork=(int)opt_size)*sizeof(PRECISION)))) { - if (!qt) free(ptr); - free(tau); + if (!qt) swzFree(ptr); + swzFree(tau); return MEM_ERR; } #if (PRECISION_SIZE == 4) @@ -2627,17 +2627,17 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i #else dorglq(&q,&m,&p,ptr,&q,tau,work,&lwork,&info); #endif - free(work); + swzFree(work); if (qt) { bTranspose(Q,ptr,q,m,1); - free(ptr); + swzFree(ptr); } - free(tau); + swzFree(tau); if (info) return ARG_ERR; } else - free(tau); + swzFree(tau); if (R != X) if (rt) for (k=n*q, i=n-1; i >= 0; i--) @@ -2675,7 +2675,7 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i { if (!(NR=(PRECISION*)swzMalloc(m*n*sizeof(PRECISION)))) { - if (NQ != Q) free(NQ); + if (NQ != Q) swzFree(NQ); return MEM_ERR; } if (xt) @@ -2704,7 +2704,7 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i *pQ=NQ[i]; else for (i=m-1; i >= 0; i--) memcpy(Q+i*n,NQ+i*m,n*sizeof(PRECISION)); - free(NQ); + swzFree(NQ); } else if (qt) @@ -2713,13 +2713,13 @@ int bQR(PRECISION *Q, PRECISION *R, PRECISION *X, int m, int n, int q, int qt, i if (rt) { bTranspose(R,NR,q,n,0); - free(NR); + swzFree(NR); } else if (q != m) { memcpy(R,NR,n*n*sizeof(PRECISION)); - free(NR); + swzFree(NR); } return NO_ERR; @@ -3587,7 +3587,7 @@ dest2: fstp PRECISION_WORD ptr [edx] // pop accumulated v /* memcpy(X,A,m*n*sizeof(PRECISION)); */ /* if (!(iwork=(int*)swzMalloc(8*((m < n) ? m : n)*sizeof(int)))) */ /* { */ -/* free(X); */ +/* swzFree(X); */ /* return MEM_ERR; */ /* } */ /* k=-1; */ @@ -3600,8 +3600,8 @@ dest2: fstp PRECISION_WORD ptr [edx] // pop accumulated v /* #endif */ /* if (info || !(work=(PRECISION*)swzMalloc((k=(int)opt_size)*sizeof(PRECISION)))) */ /* { */ -/* free(iwork); */ -/* free(X); */ +/* swzFree(iwork); */ +/* swzFree(X); */ /* return info ? BLAS_LAPACK_ERR : MEM_ERR; */ /* } */ /* #if (PRECISION_SIZE == 4) */ @@ -3611,7 +3611,7 @@ dest2: fstp PRECISION_WORD ptr [edx] // pop accumulated v /* #endif */ /* if (info) */ /* { */ -/* free(work); */ +/* swzFree(work); */ /* memcpy(X,A,m*n*sizeof(PRECISION)); */ /* k=-1; */ /* #if (PRECISION_SIZE == 4) */ @@ -3621,8 +3621,8 @@ dest2: fstp PRECISION_WORD ptr [edx] // pop accumulated v /* #endif */ /* if (info || !(work=(PRECISION*)swzMalloc((k=(int)opt_size)*sizeof(PRECISION)))) */ /* { */ -/* free(iwork); */ -/* free(X); */ +/* swzFree(iwork); */ +/* swzFree(X); */ /* return info ? BLAS_LAPACK_ERR : MEM_ERR; */ /* } */ /* #if (PRECISION_SIZE == 4) */ @@ -3632,8 +3632,8 @@ dest2: fstp PRECISION_WORD ptr [edx] // pop accumulated v /* #endif */ /* if (info) */ /* { */ -/* free(iwork); */ -/* free(X); */ +/* swzFree(iwork); */ +/* swzFree(X); */ /* return BLAS_LAPACK_ERR; */ /* } */ /* } */ @@ -3651,8 +3651,8 @@ dest2: fstp PRECISION_WORD ptr [edx] // pop accumulated v /* #endif */ /* if (!(work=(PRECISION*)swzMalloc((k=(int)opt_size)*sizeof(PRECISION)))) */ /* { */ -/* free(iwork); */ -/* free(X); */ +/* swzFree(iwork); */ +/* swzFree(X); */ /* return MEM_ERR; */ /* } */ /* #if (PRECISION_SIZE == 4) */ @@ -3662,7 +3662,7 @@ dest2: fstp PRECISION_WORD ptr [edx] // pop accumulated v /* #endif */ /* if (info) */ /* { */ -/* free(work); */ +/* swzFree(work); */ /* memcpy(X,A,m*n*sizeof(PRECISION)); */ /* k=-1; */ /* #if (PRECISION_SIZE == 4) */ @@ -3672,8 +3672,8 @@ dest2: fstp PRECISION_WORD ptr [edx] // pop accumulated v /* #endif */ /* if (info || !(work=(PRECISION*)swzMalloc((k=(int)opt_size)*sizeof(PRECISION)))) */ /* { */ -/* free(iwork); */ -/* free(X); */ +/* swzFree(iwork); */ +/* swzFree(X); */ /* return info ? BLAS_LAPACK_ERR : MEM_ERR; */ /* } */ /* #if (PRECISION_SIZE == 4) */ @@ -3683,8 +3683,8 @@ dest2: fstp PRECISION_WORD ptr [edx] // pop accumulated v /* #endif */ /* if (info) */ /* { */ -/* free(iwork); */ -/* free(X); */ +/* swzFree(iwork); */ +/* swzFree(X); */ /* return BLAS_LAPACK_ERR; */ /* } */ /* } */ @@ -3693,7 +3693,7 @@ dest2: fstp PRECISION_WORD ptr [edx] // pop accumulated v /* if (ut) */ /* bTransposeInPlace(U,m); */ /* } */ -/* free(work); */ -/* free(iwork); */ -/* free(X); */ +/* swzFree(work); */ +/* swzFree(iwork); */ +/* swzFree(X); */ /* return NO_ERR; */ diff --git a/matlab/swz/c-code/utilities/DWCcode/matrix/swzmatrix.c b/matlab/swz/c-code/utilities/DWCcode/matrix/swzmatrix.c index 2519dcbe0..bffb5121f 100644 --- a/matlab/swz/c-code/utilities/DWCcode/matrix/swzmatrix.c +++ b/matlab/swz/c-code/utilities/DWCcode/matrix/swzmatrix.c @@ -62,7 +62,7 @@ TVector CreateVector(int m) /**/ void FreeVector(TVector x) { - if (x) free(x); + if (x) swzFree(x); } /**/ TMatrix CreateMatrix(int m, int n) @@ -85,7 +85,7 @@ TMatrix CreateMatrix(int m, int n) /**/ void FreeMatrix(TMatrix X) { - if (X) free(X); + if (X) swzFree(X); } /**/ TPermutation CreatePermutation(int m) @@ -108,7 +108,7 @@ TPermutation CreatePermutation(int m) /**/ void FreePermutation(TPermutation X) { - if (X) free(X); + if (X) swzFree(X); } #endif /*-----------------------------------------------------------------------------*/ @@ -127,7 +127,7 @@ TVector CreateVector(int m) DimV(x)=m; else { - free(x); + swzFree(x); dw_Error(MEM_ERR); return (TVector)NULL; } @@ -140,8 +140,8 @@ void FreeVector(TVector x) { if (x) { - if (x->x) free(x->x); - free(x); + if (x->x) swzFree(x->x); + swzFree(x); } } /**/ @@ -164,7 +164,7 @@ TMatrix CreateMatrix(int m, int n) } else { - free(X); + swzFree(X); dw_Error(MEM_ERR); return (TMatrix)NULL; } @@ -177,8 +177,8 @@ void FreeMatrix(TMatrix X) { if (X) { - if (X->x) free(X->x); - free(X); + if (X->x) swzFree(X->x); + swzFree(X); } } /**/ @@ -198,7 +198,7 @@ TPermutation CreatePermutation(int m) } else { - free(X); + swzFree(X); dw_Error(MEM_ERR); return (TPermutation)NULL; } @@ -211,8 +211,8 @@ void FreePermutation(TPermutation X) { if (X) { - if (X->x) free(X->x); - free(X); + if (X->x) swzFree(X->x); + swzFree(X); } } #endif @@ -236,7 +236,7 @@ TVector CreateVector(int m) /**/ void FreeVector(TVector x) { - if (x) free((int *)x-1); + if (x) swzFree((int *)x-1); } /**/ TMatrix CreateMatrix(int m, int n) @@ -262,7 +262,7 @@ TMatrix CreateMatrix(int m, int n) /**/ void FreeMatrix(TMatrix X) { - if (X) free((int *)X-2); + if (X) swzFree((int *)X-2); } /**/ TPermutation CreatePermutation(int m) @@ -288,7 +288,7 @@ void FreePermutation(TPermutation X) if (!X) dw_Error(NULL_ERR); else - free(X-2); + swzFree(X-2); } #endif /*-----------------------------------------------------------------------------*/ @@ -305,7 +305,7 @@ TVector CreateVector(int m) if (x=(TVector)swzMalloc(sizeof(TSdvector))) if (!(pElementV(x)=(PRECISION*)swzMalloc(m*sizeof(PRECISION)))) { - free(x); + swzFree(x); dw_Error(MEM_ERR); return (TVector)NULL; } @@ -323,8 +323,8 @@ void FreeVector(TVector x) { if (x) { - if (pElementV(x)) free(pElementV(x)); - free(x); + if (pElementV(x)) swzFree(pElementV(x)); + swzFree(x); } } /**/ @@ -339,7 +339,7 @@ TMatrix CreateMatrix(int m, int n) if (X=(TMatrix)swzMalloc(sizeof(TSdmatrix))) if (!(pElementM(X)=(PRECISION*)swzMalloc(m*n*sizeof(PRECISION)))) { - free(X); + swzFree(X); dw_Error(MEM_ERR); return (TMatrix)NULL; } @@ -374,15 +374,15 @@ TPermutation CreatePermutation(int m) /**/ void FreePermutation(TPermutation X) { - if (X) free(X); + if (X) swzFree(X); } /**/ void FreeMatrix(TMatrix X) { if (X) { - if (pElementM(X)) free(pElementM(X)); - free(X); + if (pElementM(X)) swzFree(pElementM(X)); + swzFree(X); } } #endif @@ -1388,7 +1388,7 @@ TMatrix UpdateMS(TMatrix X, TMatrix Y, PRECISION a) } bTranspose(z,pElementM(Y),RowM(Y),ColM(Y),MajorForm(Y)); bLinearUpdateScalar(pElementM(X),z,a,RowM(Y)*ColM(Y)); - free(z); + swzFree(z); } return X; } @@ -1497,7 +1497,7 @@ TMatrix LinearCombinationMM(TMatrix X, PRECISION a, TMatrix Y, PRECISION b, TMat } bTranspose(p,pElementM(Y),RowM(Y),ColM(Y),MajorForm(Y)); bLinearCombination(pElementM(X),a,p,b,pElementM(Z),RowM(Z)*ColM(Z)); - free(p); + swzFree(p); } else if (X == Y) @@ -1510,7 +1510,7 @@ TMatrix LinearCombinationMM(TMatrix X, PRECISION a, TMatrix Y, PRECISION b, TMat } bTranspose(p,pElementM(Z),RowM(Z),ColM(Z),MajorForm(Z)); bLinearCombination(pElementM(X),a,pElementM(Y),b,p,RowM(Z)*ColM(Z)); - free(p); + swzFree(p); } else { @@ -1654,7 +1654,7 @@ TVector ProductVM(TVector x, TVector y, TMatrix Z) } bMatrixMultiply(ptr,pElementV(y),pElementM(Z),1,DimV(x),DimV(y),0,0,MajorForm(Z)); memcpy(pElementV(x),ptr,DimV(x)*sizeof(PRECISION)); - free(ptr); + swzFree(ptr); return x; } } @@ -1712,7 +1712,7 @@ TVector ProductMV(TVector x, TMatrix Y, TVector z) } bMatrixMultiply(ptr,pElementM(Y),pElementV(z),DimV(x),1,DimV(z),1,MajorForm(Y),1); memcpy(pElementV(x),ptr,DimV(x)*sizeof(PRECISION)); - free(ptr); + swzFree(ptr); return x; } } @@ -1772,7 +1772,7 @@ TMatrix ProductMM(TMatrix X, TMatrix Y, TMatrix Z) } bMatrixMultiply(ptr,pElementM(Y),pElementM(Z),RowM(X),ColM(X),ColM(Y),MajorForm(X),MajorForm(Y),MajorForm(Z)); memcpy(pElementM(X),ptr,RowM(X)*ColM(X)*sizeof(PRECISION)); - free(ptr); + swzFree(ptr); return X; } } @@ -1838,7 +1838,7 @@ TMatrix TransposeProductMM(TMatrix X, TMatrix Y, TMatrix Z) } bMatrixMultiply(ptr,pElementM(Y),pElementM(Z),RowM(X),ColM(X),RowM(Y),MajorForm(X),1^MajorForm(Y),MajorForm(Z)); memcpy(pElementM(X),ptr,RowM(X)*ColM(X)*sizeof(PRECISION)); - free(ptr); + swzFree(ptr); return X; } } @@ -1898,7 +1898,7 @@ TMatrix ProductTransposeMM(TMatrix X, TMatrix Y, TMatrix Z) } bMatrixMultiply(ptr,pElementM(Y),pElementM(Z),RowM(X),ColM(X),ColM(Y),MajorForm(X),MajorForm(Y),1^MajorForm(Z)); memcpy(pElementM(X),ptr,RowM(X)*ColM(X)*sizeof(PRECISION)); - free(ptr); + swzFree(ptr); return X; } } @@ -1960,9 +1960,9 @@ TVector InverseProductMV(TVector x, TMatrix Y, TVector z) bSolveUnitTriangular(LU,pElementV(rtrn),DimV(rtrn),1,0,MajorForm(Y),1); bSolveTriangular(LU,pElementV(rtrn),DimV(rtrn),1,1,MajorForm(Y),1); } - free(LU); + swzFree(LU); } - free(p); + swzFree(p); } return rtrn; } @@ -2092,9 +2092,9 @@ TMatrix InverseProductMM(TMatrix X, TMatrix Y, TMatrix Z) bSolveUnitTriangular(LU,pElementM(rtrn),RowM(rtrn),ColM(rtrn),0,MajorFormLU,MajorForm(rtrn)); bSolveTriangular(LU,pElementM(rtrn),RowM(rtrn),ColM(rtrn),1,MajorFormLU,MajorForm(rtrn)); } - free(LU); + swzFree(LU); } - free(p); + swzFree(p); } return rtrn; } @@ -2141,7 +2141,7 @@ TMatrix InverseProductUM(TMatrix X, TMatrix Y, TMatrix Z) rtrn=(TMatrix)NULL; dw_Error(err); } - free(ptr); + swzFree(ptr); } else if (rtrn=((X == Z) ? X : EquateMatrix(X,Z))) @@ -2196,7 +2196,7 @@ TMatrix InverseProductLM(TMatrix X, TMatrix Y, TMatrix Z) rtrn=(TMatrix)NULL; dw_Error(err); } - free(ptr); + swzFree(ptr); } else if (rtrn=((X == Z) ? X : EquateMatrix(X,Z))) @@ -2257,9 +2257,9 @@ TVector ProductInverseVM(TVector x, TVector y, TMatrix Z) bSolveUnitTriangular(LU,pElementV(rtrn),DimV(rtrn),1,1,1^MajorForm(Z),0); bPermutationMultiply(p,pElementV(rtrn),DimV(rtrn),1,RowM(Z),0,0); } - free(LU); + swzFree(LU); } - free(p); + swzFree(p); } return rtrn; } @@ -2389,9 +2389,9 @@ TMatrix ProductInverseMM(TMatrix X, TMatrix Y, TMatrix Z) bSolveUnitTriangular(LU,pElementM(rtrn),ColM(rtrn),RowM(rtrn),1,1^MajorFormLU,1^MajorForm(rtrn)); bPermutationMultiply(p,pElementM(rtrn),ColM(rtrn),RowM(rtrn),ColM(rtrn),0,1^MajorForm(rtrn)); } - free(LU); + swzFree(LU); } - free(p); + swzFree(p); } return rtrn; } @@ -2438,7 +2438,7 @@ TMatrix ProductInverseMU(TMatrix X, TMatrix Y, TMatrix Z) rtrn=(TMatrix)NULL; dw_Error(err); } - free(ptr); + swzFree(ptr); } else if (rtrn=((X == Y) ? X : EquateMatrix(X,Y))) @@ -2493,7 +2493,7 @@ TMatrix ProductInverseML(TMatrix X, TMatrix Y, TMatrix Z) rtrn=(TMatrix)NULL; dw_Error(err); } - free(ptr); + swzFree(ptr); } else if (rtrn=((X == Y) ? X : EquateMatrix(X,Y))) @@ -2558,9 +2558,9 @@ TMatrix Inverse_LU(TMatrix X, TMatrix Y) bSolveUnitTriangular(LU,pElementM(rtrn),RowM(rtrn),ColM(rtrn),0,MajorForm(Y),MajorForm(rtrn)); bSolveTriangular(LU,pElementM(rtrn),RowM(rtrn),ColM(rtrn),1,MajorForm(Y),MajorForm(rtrn)); } - free(LU); + swzFree(LU); } - free(p); + swzFree(p); } return rtrn; } @@ -2617,9 +2617,9 @@ TMatrix Inverse_SVD(TMatrix X, TMatrix Y) if (d[j] < tolerance) { dw_Error(SING_ERR); - free(U); - free(V); - free(d); + swzFree(U); + swzFree(V); + swzFree(d); return (TMatrix)NULL; } scale=1.0/d[j]; @@ -2637,11 +2637,11 @@ TMatrix Inverse_SVD(TMatrix X, TMatrix Y) if (rtrn=CreateMatrix(RowM(Y),RowM(Y))) bMatrixMultiply(pElementM(rtrn),V,U,RowM(Y),RowM(Y),RowM(Y),MajorForm(rtrn),1^MajorForm(Y),1^MajorForm(Y)); } - free(d); + swzFree(d); } - free(V); + swzFree(V); } - free(U); + swzFree(U); } return rtrn; } @@ -2690,7 +2690,7 @@ TMatrix Inverse_Cholesky(TMatrix X, TMatrix Y) memcpy(pElementM(rtrn),ptr,RowM(Y)*RowM(Y)*sizeof(PRECISION)); } } - free(ptr); + swzFree(ptr); } return rtrn; } @@ -2749,10 +2749,10 @@ TMatrix Inverse_UT(TMatrix X, TMatrix T) if (err=bSolveTriangular(ptr,pElementM(X),RowM(T),RowM(T),1,MajorForm(T),MajorForm(X))) { dw_Error(err); - free(ptr); + swzFree(ptr); return (TMatrix)NULL; } - free(ptr); + swzFree(ptr); } else if (X=IdentityMatrix(X,RowM(T))) @@ -2818,10 +2818,10 @@ TMatrix Inverse_LT(TMatrix X, TMatrix T) if (err=bSolveTriangular(ptr,pElementM(X),RowM(T),RowM(T),0,MajorForm(T),MajorForm(X))) { dw_Error(err); - free(ptr); + swzFree(ptr); return (TMatrix)NULL; } - free(ptr); + swzFree(ptr); } else if (X=IdentityMatrix(X,RowM(T))) @@ -2918,7 +2918,7 @@ PRECISION MatrixNorm(TMatrix X) return 0.0; } result=d[0]; - free(d); + swzFree(d); return result; } @@ -3070,9 +3070,9 @@ PRECISION Determinant_LU(TMatrix X) rtrn=(i >= 0) ? 0.0 : sgn*exp(rtrn); } dw_ClearError(); - free(LU); + swzFree(LU); } - free(p); + swzFree(p); } return rtrn; } @@ -3123,9 +3123,9 @@ PRECISION LogAbsDeterminant_LU(TMatrix X) } dw_ClearError(); } - free(LU); + swzFree(LU); } - free(p); + swzFree(p); } return rtrn; } @@ -3173,12 +3173,12 @@ PRECISION Determinant_QR(TMatrix X) rtrn+=log(R[i]); else { - free(R); + swzFree(R); return 0.0; } rtrn=sgn*exp(rtrn); } - free(R); + swzFree(R); } return rtrn; } @@ -3470,14 +3470,14 @@ TMatrix NullSpace(TMatrix Y) if (bSVD_new((PRECISION*)NULL,d,pElementM(v),pElementM(Y),RowM(Y),ColM(Y),1,MajorForm(v),MajorForm(Y),0) != NO_ERR) { FreeMatrix(v); - free(d); + swzFree(d); dw_Error(BLAS_LAPACK_ERR); return (TMatrix)NULL; } dw_ClearError(); if (d[0] < SQRT_MACHINE_EPSILON) { - free(d); + swzFree(d); return v; } small=d[0]*SQRT_MACHINE_EPSILON*sqrt(q); @@ -3485,13 +3485,13 @@ TMatrix NullSpace(TMatrix Y) if (d[i] > small) break; null=(++i == ColM(Y)) ? (TMatrix)NULL : SubMatrix((TMatrix)NULL,v,0,i,ColM(Y),ColM(Y)-i); FreeMatrix(v); - free(d); + swzFree(d); return null; } else { if (v) FreeMatrix(v); - if (d) free(d); + if (d) swzFree(d); dw_Error(MEM_ERR); return (TMatrix)NULL; } @@ -3546,7 +3546,7 @@ TMatrix GeneralizedInverse(TMatrix X, TMatrix Y) { FreeMatrix(v); FreeMatrix(u); - free(d); + swzFree(d); dw_Error(BLAS_LAPACK_ERR); return (TMatrix)NULL; } @@ -3567,7 +3567,7 @@ TMatrix GeneralizedInverse(TMatrix X, TMatrix Y) FreeMatrix(w); FreeMatrix(u); FreeMatrix(v); - free(d); + swzFree(d); return X; } @@ -3575,7 +3575,7 @@ TMatrix GeneralizedInverse(TMatrix X, TMatrix Y) { if (v) FreeMatrix(v); if (u) FreeMatrix(u); - if (d) free(d); + if (d) swzFree(d); dw_Error(MEM_ERR); return (TMatrix)NULL; } @@ -3972,7 +3972,7 @@ TVector InVector(FILE *f, TVector x) while (--i >= 0) ElementV(x,i)=((float*)y)[i]; else while (--i >= 0) ElementV(x,i)=((double*)y)[i]; - free(y); + swzFree(y); } else if (fread(pElementV(x),i*sizeof(PRECISION),1,f) != 1) goto EXIT_ERROR; @@ -3982,7 +3982,7 @@ TVector InVector(FILE *f, TVector x) EXIT_ERROR: fseek(f,position,SEEK_SET); if (del) FreeVector(x); - if (y) free(y); + if (y) swzFree(y); return (TVector)NULL; } @@ -4038,7 +4038,7 @@ TMatrix InMatrix(FILE *f, TMatrix X) while (--i >= 0) pElementM(X)[i]=((float*)Y)[i]; else while (--i >= 0) pElementM(X)[i]=((double*)Y)[i]; - free(Y); + swzFree(Y); } else if (fread(pElementM(X),i*sizeof(PRECISION),1,f) != 1) goto EXIT_ERROR; @@ -4048,7 +4048,7 @@ TMatrix InMatrix(FILE *f, TMatrix X) EXIT_ERROR: fseek(f,position,SEEK_SET); if (del) FreeMatrix(X); - if (Y) free(Y); + if (Y) swzFree(Y); return (TMatrix)NULL; } /*******************************************************************************/ @@ -4575,7 +4575,7 @@ int QR(TMatrix Q, TMatrix R, TMatrix X) } else err=bQR(pElementM(Q),pElementM(R),ptr,RowM(X),ColM(X),RowM(R),MajorForm(Q),MajorForm(R),MajorForm(X)); - if (ptr != pElementM(R)) free(ptr); + if (ptr != pElementM(R)) swzFree(ptr); if (!err) return 1; dw_Error(err); return 0; @@ -4748,7 +4748,7 @@ TVector LU_SolveRowM(TVector x, TVector y, TMatrix LU, TPermutation P) } for (i=UseP(P)-1; i >= 0; i--) ElementV(x,ElementP(P,i))=z[i]; - free(z); + swzFree(z); return x; } diff --git a/matlab/swz/c-code/utilities/DWCcode/matrix/tz2dw.h b/matlab/swz/c-code/utilities/DWCcode/matrix/tz2dw.h index f9ee790de..8f131c58f 100644 --- a/matlab/swz/c-code/utilities/DWCcode/matrix/tz2dw.h +++ b/matlab/swz/c-code/utilities/DWCcode/matrix/tz2dw.h @@ -37,7 +37,7 @@ typedef struct /* // memory management ansi-c*/ #define tzMalloc(elt_count,type) (type *)swzMalloc((elt_count)*sizeof(type)) -#define tzDestroy(x) {if (x) { free((x)); (x) = NULL; }} +#define tzDestroy(x) {if (x) { swzFree((x)); (x) = NULL; }} /* // i/o ansi-c*/ #define tzFclose(x) {if (x) { fclose(x); (x)=(FILE *)NULL;}} diff --git a/matlab/swz/c-code/utilities/DWCcode/sort/dw_matrix_sort.c b/matlab/swz/c-code/utilities/DWCcode/sort/dw_matrix_sort.c index 8f0bc156b..62df71516 100644 --- a/matlab/swz/c-code/utilities/DWCcode/sort/dw_matrix_sort.c +++ b/matlab/swz/c-code/utilities/DWCcode/sort/dw_matrix_sort.c @@ -388,7 +388,7 @@ static void b_qsort_matrix_columns_ascending_real(PRECISION *x, int m, int n, in memcpy(x+k+m-idx,y,s); } } - free(y); + swzFree(y); } /* @@ -456,7 +456,7 @@ static void b_qsort_matrix_columns_descending_real(PRECISION *x, int m, int n, i memcpy(x+k+m-idx,y,s); } } - free(y); + swzFree(y); } /* diff --git a/matlab/swz/c-code/utilities/DWCcode/spherical/spherical.c b/matlab/swz/c-code/utilities/DWCcode/spherical/spherical.c index e54521454..f4427fa35 100644 --- a/matlab/swz/c-code/utilities/DWCcode/spherical/spherical.c +++ b/matlab/swz/c-code/utilities/DWCcode/spherical/spherical.c @@ -118,7 +118,7 @@ void SetupSpherical_Table(int n, PRECISION *table, int m) SPHERICAL_TYPE=SPHERICAL_TABLE; SPHERICAL_DIM=n; SPHERICAL_CONSTANT=log(0.5) + dw_log_gamma(0.5*n) - 0.5*n*log(PI); - if (SPHERICAL_TABLE_VALUES) free(SPHERICAL_TABLE_VALUES); + if (SPHERICAL_TABLE_VALUES) swzFree(SPHERICAL_TABLE_VALUES); SPHERICAL_TABLE_VALUES=(PRECISION*)swzMalloc((m+1)*sizeof(PRECISION)); SPHERICAL_TABLE_LENGTH=m; memcpy(SPHERICAL_TABLE_VALUES,table,(m+1)*sizeof(PRECISION)); diff --git a/matlab/swz/c-code/utilities/DWCcode/stat/dw_rand.c b/matlab/swz/c-code/utilities/DWCcode/stat/dw_rand.c index 53e1e76e3..84af24bf1 100644 --- a/matlab/swz/c-code/utilities/DWCcode/stat/dw_rand.c +++ b/matlab/swz/c-code/utilities/DWCcode/stat/dw_rand.c @@ -143,7 +143,7 @@ void dw_print_generator_state(FILE *f) { for (i=0; i < 1566; i++) fprintf(f,"%d ",state[i]); fprintf(f,"\n"); - free(state); + swzFree(state); } #elif defined (USE_NR1_RNG) int i, *state; @@ -151,7 +151,7 @@ void dw_print_generator_state(FILE *f) { for (i=0; i < NTAB+2; i++) fprintf(f,"%d ",state[i]); fprintf(f,"\n"); - free(state); + swzFree(state); } #elif defined (USE_NR2_RNG) int i, *state; @@ -159,7 +159,7 @@ void dw_print_generator_state(FILE *f) { for (i=0; i < NTAB+3; i++) fprintf(f,"%d ",state[i]); fprintf(f,"\n"); - free(state); + swzFree(state); } #endif } @@ -174,7 +174,7 @@ void dw_read_generator_state(FILE *f) { for (i=0; i < 1566; i++) fscanf(f," %d ",state+i); dw_set_generator_state(state); - free(state); + swzFree(state); } #elif defined (USE_NR1_RNG) int i, *state; @@ -182,7 +182,7 @@ void dw_read_generator_state(FILE *f) { for (i=0; i < NTAB+2; i++) fscanf(f," %d ",state+i); dw_set_generator_state(state); - free(state); + swzFree(state); } #elif defined (USE_NR2_RNG) int i, *state; @@ -190,7 +190,7 @@ void dw_read_generator_state(FILE *f) { for (i=0; i < NTAB+3; i++) fscanf(f," %d ",state+i); dw_set_generator_state(state); - free(state); + swzFree(state); } #endif } diff --git a/matlab/swz/c-code/utilities/TZCcode/csminwel.c b/matlab/swz/c-code/utilities/TZCcode/csminwel.c index bcf9d717c..b0e4dfc23 100644 --- a/matlab/swz/c-code/utilities/TZCcode/csminwel.c +++ b/matlab/swz/c-code/utilities/TZCcode/csminwel.c @@ -787,11 +787,11 @@ static void bfgsi(double *H, double *dg, double *dx, int n, int nn) { m = 1+times(dg,Hdg,n)*dgdx; for (i=0; im); - free(x_dp2m5->q); - free(x_dp2m5->p); + swzFree(x_dp2m5->m); + swzFree(x_dp2m5->q); + swzFree(x_dp2m5->p); - free(x_dp2m5); + swzFree(x_dp2m5); return ((TSdp2m5 *)NULL); } else return (x_dp2m5); @@ -80,9 +80,9 @@ TSdvectorp2m5 *DestroyVectorP2m5(TSdvectorp2m5 *x_dvp2m5) if (x_dvp2m5) { for (_i=x_dvp2m5->n-1; _i>=0; _i--) x_dvp2m5->v[_i] = DestroyP2m5(x_dvp2m5->v[_i]); - free(x_dvp2m5->v); + swzFree(x_dvp2m5->v); - free(x_dvp2m5); + swzFree(x_dvp2m5); return ((TSdvectorp2m5 *)NULL); } else return (x_dvp2m5); @@ -108,9 +108,9 @@ TSdmatrixp2m5 *DestroyMatrixP2m5(TSdmatrixp2m5 *X_dmp2m5) if (X_dmp2m5) { for (_i=X_dmp2m5->nrows*X_dmp2m5->ncols-1; _i>=0; _i--) X_dmp2m5->M[_i] = DestroyP2m5(X_dmp2m5->M[_i]); - free(X_dmp2m5->M); + swzFree(X_dmp2m5->M); - free(X_dmp2m5); + swzFree(X_dmp2m5); return ((TSdmatrixp2m5 *)NULL); } else return (X_dmp2m5); @@ -141,9 +141,9 @@ TSdcellp2m5 *DestroyCellP2m5(TSdcellp2m5 *X_dcp2m5) if (X_dcp2m5) { for (_i=X_dcp2m5->ncells-1; _i>=0; _i--) X_dcp2m5->C[_i] = DestroyMatrixP2m5(X_dcp2m5->C[_i]); - free(X_dcp2m5->C); + swzFree(X_dcp2m5->C); - free(X_dcp2m5); + swzFree(X_dcp2m5); return ((TSdcellp2m5 *)NULL); } else return (X_dcp2m5); @@ -173,9 +173,9 @@ TSdfourthp2m5 *DestroyFourthP2m5(TSdfourthp2m5 *X_d4p2m5) if (X_d4p2m5) { for (_i=X_d4p2m5->ndims-1; _i>=0; _i--) X_d4p2m5->F[_i] = DestroyCellP2m5(X_d4p2m5->F[_i]); - free(X_d4p2m5->F); + swzFree(X_d4p2m5->F); - free(X_d4p2m5); + swzFree(X_d4p2m5); return ((TSdfourthp2m5 *)NULL); } else return (X_d4p2m5); @@ -1518,7 +1518,7 @@ struct TSveclogsum_tag *DestroyVeclogsum(struct TSveclogsum_tag *veclogsum_ps) DestroyVector_lf(veclogsum_ps->logmax_dv); /* //=== ansi-c*/ - free(veclogsum_ps); + swzFree(veclogsum_ps); return ((struct TSveclogsum_tag *)NULL); } else return (veclogsum_ps); @@ -2562,7 +2562,7 @@ void fn_ergodp(double **aop, int *aod, mxArray *cp) { (*aop)[ki] = gpim_p[n*eigmaxindx+ki]*tmpd0; // Normalized eigmaxindx_th column as ergodic probabilities. } - mxDestroyArray(gpim); // ????? free(gpim_p) + mxDestroyArray(gpim); // ????? swzFree(gpim_p) mxDestroyArray(gpid); } /**/ @@ -2594,11 +2594,11 @@ TSdp2m5 *CreateP2m5(const double p) TSdp2m5 *DestroyP2m5(TSdp2m5 *x_dp2m5) { if (x_dp2m5) { - free(x_dp2m5->m); - free(x_dp2m5->q); - free(x_dp2m5->p); + swzFree(x_dp2m5->m); + swzFree(x_dp2m5->q); + swzFree(x_dp2m5->p); - free(x_dp2m5); + swzFree(x_dp2m5); return ((TSdp2m5 *)NULL); } else return (x_dp2m5); @@ -2623,9 +2623,9 @@ TSdvectorp2m5 *DestroyVectorP2m5(TSdvectorp2m5 *x_dvp2m5) if (x_dvp2m5) { for (_i=x_dvp2m5->n-1; _i>=0; _i--) x_dvp2m5->v[_i] = DestroyP2m5(x_dvp2m5->v[_i]); - free(x_dvp2m5->v); + swzFree(x_dvp2m5->v); - free(x_dvp2m5); + swzFree(x_dvp2m5); return ((TSdvectorp2m5 *)NULL); } return (x_dvp2m5); @@ -2651,9 +2651,9 @@ TSdmatrixp2m5 *DestroyMatrixP2m5(TSdmatrixp2m5 *X_dmp2m5) if (X_dmp2m5) { for (_i=X_dmp2m5->nrows*X_dmp2m5->ncols-1; _i>=0; _i--) X_dmp2m5->M[_i] = DestroyP2m5(X_dmp2m5->M[_i]); - free(X_dmp2m5->M); + swzFree(X_dmp2m5->M); - free(X_dmp2m5); + swzFree(X_dmp2m5); return ((TSdmatrixp2m5 *)NULL); } else return (X_dmp2m5); @@ -2684,9 +2684,9 @@ TSdcellp2m5 *DestroyCellP2m5(TSdcellp2m5 *X_dcp2m5) if (X_dcp2m5) { for (_i=X_dcp2m5->ncells-1; _i>=0; _i--) X_dcp2m5->C[_i] = DestroyMatrixP2m5(X_dcp2m5->C[_i]); - free(X_dcp2m5->C); + swzFree(X_dcp2m5->C); - free(X_dcp2m5); + swzFree(X_dcp2m5); return ((TSdcellp2m5 *)NULL); } else return (X_dcp2m5); diff --git a/matlab/swz/c-code/utilities/TZCcode/cstz_dw.c b/matlab/swz/c-code/utilities/TZCcode/cstz_dw.c index 09fd30b70..d9fe5c20d 100644 --- a/matlab/swz/c-code/utilities/TZCcode/cstz_dw.c +++ b/matlab/swz/c-code/utilities/TZCcode/cstz_dw.c @@ -51,11 +51,11 @@ TSdp2m5 *CreateP2m5(const double p, const double bound) TSdp2m5 *DestroyP2m5(TSdp2m5 *x_dp2m5) { if (x_dp2m5) { - free(x_dp2m5->m); - free(x_dp2m5->q); - free(x_dp2m5->p); + swzFree(x_dp2m5->m); + swzFree(x_dp2m5->q); + swzFree(x_dp2m5->p); - free(x_dp2m5); + swzFree(x_dp2m5); return ((TSdp2m5 *)NULL); } else return (x_dp2m5); @@ -80,9 +80,9 @@ TSdvectorp2m5 *DestroyVectorP2m5(TSdvectorp2m5 *x_dvp2m5) if (x_dvp2m5) { for (_i=x_dvp2m5->n-1; _i>=0; _i--) x_dvp2m5->v[_i] = DestroyP2m5(x_dvp2m5->v[_i]); - free(x_dvp2m5->v); + swzFree(x_dvp2m5->v); - free(x_dvp2m5); + swzFree(x_dvp2m5); return ((TSdvectorp2m5 *)NULL); } else return (x_dvp2m5); @@ -108,9 +108,9 @@ TSdmatrixp2m5 *DestroyMatrixP2m5(TSdmatrixp2m5 *X_dmp2m5) if (X_dmp2m5) { for (_i=X_dmp2m5->nrows*X_dmp2m5->ncols-1; _i>=0; _i--) X_dmp2m5->M[_i] = DestroyP2m5(X_dmp2m5->M[_i]); - free(X_dmp2m5->M); + swzFree(X_dmp2m5->M); - free(X_dmp2m5); + swzFree(X_dmp2m5); return ((TSdmatrixp2m5 *)NULL); } else return (X_dmp2m5); @@ -141,9 +141,9 @@ TSdcellp2m5 *DestroyCellP2m5(TSdcellp2m5 *X_dcp2m5) if (X_dcp2m5) { for (_i=X_dcp2m5->ncells-1; _i>=0; _i--) X_dcp2m5->C[_i] = DestroyMatrixP2m5(X_dcp2m5->C[_i]); - free(X_dcp2m5->C); + swzFree(X_dcp2m5->C); - free(X_dcp2m5); + swzFree(X_dcp2m5); return ((TSdcellp2m5 *)NULL); } else return (X_dcp2m5); @@ -173,9 +173,9 @@ TSdfourthp2m5 *DestroyFourthP2m5(TSdfourthp2m5 *X_d4p2m5) if (X_d4p2m5) { for (_i=X_d4p2m5->ndims-1; _i>=0; _i--) X_d4p2m5->F[_i] = DestroyCellP2m5(X_d4p2m5->F[_i]); - free(X_d4p2m5->F); + swzFree(X_d4p2m5->F); - free(X_d4p2m5); + swzFree(X_d4p2m5); return ((TSdfourthp2m5 *)NULL); } else return (X_d4p2m5); @@ -1518,7 +1518,7 @@ struct TSveclogsum_tag *DestroyVeclogsum(struct TSveclogsum_tag *veclogsum_ps) DestroyVector_lf(veclogsum_ps->logmax_dv); /* //=== ansi-c*/ - free(veclogsum_ps); + swzFree(veclogsum_ps); return ((struct TSveclogsum_tag *)NULL); } else return (veclogsum_ps); @@ -2562,7 +2562,7 @@ void fn_ergodp(double **aop, int *aod, mxArray *cp) { (*aop)[ki] = gpim_p[n*eigmaxindx+ki]*tmpd0; // Normalized eigmaxindx_th column as ergodic probabilities. } - mxDestroyArray(gpim); // ????? free(gpim_p) + mxDestroyArray(gpim); // ????? swzFree(gpim_p) mxDestroyArray(gpid); } /**/ @@ -2594,11 +2594,11 @@ TSdp2m5 *CreateP2m5(const double p) TSdp2m5 *DestroyP2m5(TSdp2m5 *x_dp2m5) { if (x_dp2m5) { - free(x_dp2m5->m); - free(x_dp2m5->q); - free(x_dp2m5->p); + swzFree(x_dp2m5->m); + swzFree(x_dp2m5->q); + swzFree(x_dp2m5->p); - free(x_dp2m5); + swzFree(x_dp2m5); return ((TSdp2m5 *)NULL); } else return (x_dp2m5); @@ -2623,9 +2623,9 @@ TSdvectorp2m5 *DestroyVectorP2m5(TSdvectorp2m5 *x_dvp2m5) if (x_dvp2m5) { for (_i=x_dvp2m5->n-1; _i>=0; _i--) x_dvp2m5->v[_i] = DestroyP2m5(x_dvp2m5->v[_i]); - free(x_dvp2m5->v); + swzFree(x_dvp2m5->v); - free(x_dvp2m5); + swzFree(x_dvp2m5); return ((TSdvectorp2m5 *)NULL); } return (x_dvp2m5); @@ -2651,9 +2651,9 @@ TSdmatrixp2m5 *DestroyMatrixP2m5(TSdmatrixp2m5 *X_dmp2m5) if (X_dmp2m5) { for (_i=X_dmp2m5->nrows*X_dmp2m5->ncols-1; _i>=0; _i--) X_dmp2m5->M[_i] = DestroyP2m5(X_dmp2m5->M[_i]); - free(X_dmp2m5->M); + swzFree(X_dmp2m5->M); - free(X_dmp2m5); + swzFree(X_dmp2m5); return ((TSdmatrixp2m5 *)NULL); } else return (X_dmp2m5); @@ -2684,9 +2684,9 @@ TSdcellp2m5 *DestroyCellP2m5(TSdcellp2m5 *X_dcp2m5) if (X_dcp2m5) { for (_i=X_dcp2m5->ncells-1; _i>=0; _i--) X_dcp2m5->C[_i] = DestroyMatrixP2m5(X_dcp2m5->C[_i]); - free(X_dcp2m5->C); + swzFree(X_dcp2m5->C); - free(X_dcp2m5); + swzFree(X_dcp2m5); return ((TSdcellp2m5 *)NULL); } else return (X_dcp2m5); diff --git a/matlab/swz/c-code/utilities/TZCcode/fn_filesetup.c b/matlab/swz/c-code/utilities/TZCcode/fn_filesetup.c index 6e1e8a6cf..7eada2943 100644 --- a/matlab/swz/c-code/utilities/TZCcode/fn_filesetup.c +++ b/matlab/swz/c-code/utilities/TZCcode/fn_filesetup.c @@ -844,7 +844,7 @@ void ReprintInputData(FILE *fptr_in, FILE *fptr_out) while (fgets(inpbuffer,BUFFERLEN,fptr_in)) fprintf(fptr_out, "%s", inpbuffer); fprintf(fptr_out, "\n\n\n\n\n//------------------------------- Output Data Begin Here -------------------------------\n"); - free(inpbuffer); + swzFree(inpbuffer); } #undef BUFFERLEN diff --git a/matlab/swz/c-code/utilities/TZCcode/gensys.c b/matlab/swz/c-code/utilities/TZCcode/gensys.c index bfb3a67f5..085b9945c 100644 --- a/matlab/swz/c-code/utilities/TZCcode/gensys.c +++ b/matlab/swz/c-code/utilities/TZCcode/gensys.c @@ -125,7 +125,7 @@ TSgensys *DestroyTSgensys(TSgensys *gensys_ps) DestroyMatrix_lf(gensys_ps->Psi_dm); /* n-by-m. ansi-c*/ DestroyMatrix_lf(gensys_ps->Pi_dm); /* n-by-k where k is the number of expectational errors. ansi-c*/ - free(gensys_ps); + swzFree(gensys_ps); return ((TSgensys *)NULL); } diff --git a/matlab/swz/c-code/utilities/TZCcode/kalman.c b/matlab/swz/c-code/utilities/TZCcode/kalman.c index 2ff533567..8a1eab0d1 100644 --- a/matlab/swz/c-code/utilities/TZCcode/kalman.c +++ b/matlab/swz/c-code/utilities/TZCcode/kalman.c @@ -105,7 +105,7 @@ TSkalcvfurw *DestroyTSkalcvfurw(TSkalcvfurw *kalcvfurw_ps) DestroyCell_lf(kalcvfurw_ps->Ppred_dc); DestroyVector_lf(kalcvfurw_ps->ylhtranpred_dv); - free(kalcvfurw_ps); + swzFree(kalcvfurw_ps); return ((TSkalcvfurw *)NULL); } else return (kalcvfurw_ps); diff --git a/matlab/swz/c-code/utilities/TZCcode/mathlib.c b/matlab/swz/c-code/utilities/TZCcode/mathlib.c index 71ab47dbb..1b9c7fd74 100644 --- a/matlab/swz/c-code/utilities/TZCcode/mathlib.c +++ b/matlab/swz/c-code/utilities/TZCcode/mathlib.c @@ -61,7 +61,7 @@ int lurgen(TSdmatrix *lu_dm, TSivector *pivot_dv, TSdmatrix *x_dm) { for(i=0; iv[i] = pivot_p[i]; } - free(pivot_p); /* Frees the memory belonging to this function. ansi-c*/ + swzFree(pivot_p); /* Frees the memory belonging to this function. ansi-c*/ errflag = errflag2; return( errflag ); /* (1) If errflag = 0, success. (2) If errorflag = -i, the ith parameter has an illegal value. ansi-c*/ @@ -549,8 +549,8 @@ int invrgen(TSdmatrix *X_dm, TSdmatrix *A_dm) errflag = errflag2; if (errflag) { /* // A_dm->flag = M_UNDEF; ansi-c*/ - free(ipivot); - free(work); + swzFree(ipivot); + swzFree(work); return errflag; } lwork2 = lwork; @@ -559,8 +559,8 @@ int invrgen(TSdmatrix *X_dm, TSdmatrix *A_dm) if (work[0]>lwork) printf("Warning for /mathlib.c/invrgen(); when calling MKL dgetri_(), we need at least %d workspace for good performance " "but lwork is allocated with only %d space!\n", (int)work[0], lwork); if (errflag) { - free(ipivot); - free(work); + swzFree(ipivot); + swzFree(work); return (errflag); /* A_dm->flag = M_UNDEF; ansi-c*/ } } @@ -572,8 +572,8 @@ int invrgen(TSdmatrix *X_dm, TSdmatrix *A_dm) errflag = errflag2; if (errflag) { /* // X_dm->flag = M_UNDEF; ansi-c*/ - free(ipivot); - free(work); + swzFree(ipivot); + swzFree(work); return errflag; } lwork2 = lwork; @@ -582,15 +582,15 @@ int invrgen(TSdmatrix *X_dm, TSdmatrix *A_dm) if (work[0]>lwork) printf("Warning for /mathlib.c/invrgen(); when calling MKL dgetri_(), we need at least %d workspace for good performance " "but lwork is allocated with only %d space!\n", (int)work[0], lwork); if (errflag) { - free(ipivot); - free(work); + swzFree(ipivot); + swzFree(work); return (errflag); /* X_dm->flag = M_UNDEF; ansi-c*/ } else X_dm->flag = A_dm->flag; } /* //=== Frees memory allocated in this function. ansi-c*/ - free(ipivot); - free(work); + swzFree(ipivot); + swzFree(work); return errflag; /* (1) If errflag = 0, success. (2) If errorflag = -i, the ith parameter has an illegal value. ansi-c*/ /* //(3) If errflag = i, U_{ii}=0.0. The LU factorization U is literally singular and the inversion ansi-c*/ @@ -1017,7 +1017,7 @@ void Aldivb_spd(TSdvector *x_dv, TSdmatrix *A_dm, TSdvector *b_dv, char an) { /* // if (errflag<0) fn_DisplayError("Some element has an illegal value"); ansi-c*/ /* // else if (errflag>0) fn_DisplayError("The leadding minor of some order, hence the entire matrix, is not positive definite"); ansi-c*/ - if ( (an=='N') || (an=='n') ) free(W); + if ( (an=='N') || (an=='n') ) swzFree(W); } #else /* //No default routine yet. ansi-c*/ @@ -1229,8 +1229,8 @@ int eigrgen_decomp(double *evalr_v, double *evali_v, double *revecr_m, double *r /* //--------------------------- ansi-c*/ if (work_p[0]>lwork) printf("Warning for /mathlib.c/eigrgen_decomp(): needs at least %d workspace for good performance " "but lwork is allocated with only %d space!\n", (int)work_p[0], lwork); - if (work_p) free(work_p); - if (tmpd0_m) free(tmpd0_m); + if (work_p) swzFree(work_p); + if (tmpd0_m) swzFree(tmpd0_m); /* //--------------------------- ansi-c*/ /* // Checks error conditions. ansi-c*/ @@ -5286,13 +5286,13 @@ double *alloc_ergodp2(const double *cp_m, const int _n) { /* //=== Frees up allocated memory. ansi-c*/ - if (absval_v) free(absval_v); - if (evalr_v) free(evalr_v); - if (evali_v) free(evali_v); - if (revecr_m) free(revecr_m); - if (reveci_m) free(reveci_m); - if (levecr_m) free(levecr_m); - if (leveci_m) free(leveci_m); + if (absval_v) swzFree(absval_v); + if (evalr_v) swzFree(evalr_v); + if (evali_v) swzFree(evali_v); + if (revecr_m) swzFree(revecr_m); + if (reveci_m) swzFree(reveci_m); + if (levecr_m) swzFree(levecr_m); + if (leveci_m) swzFree(leveci_m); return (p_v); } @@ -5372,8 +5372,8 @@ double *fn_ergodp2(const double *cp_m, const int _n) { for (ki=0;ki<_n;ki++) p_v[ki] = evec_m[_n*eigmaxindx+ki]*tmpd0; // Normalized eigmaxindx_th column as ergodic probabilities. //=== Frees up allocated memory. - free(eval_v); - free(evec_m); + swzFree(eval_v); + swzFree(evec_m); return p_v; diff --git a/matlab/swz/c-code/utilities/TZCcode/optpackage.c b/matlab/swz/c-code/utilities/TZCcode/optpackage.c index 0e9537290..54e7e4f48 100644 --- a/matlab/swz/c-code/utilities/TZCcode/optpackage.c +++ b/matlab/swz/c-code/utilities/TZCcode/optpackage.c @@ -85,8 +85,8 @@ TSminpack *DestroyTSminpack(TSminpack *minpack_ps) if (minpack_ps) { /* //$$$$WARNING: Note the following vectors themselves are NOT allocated memory, but only the POINTERs. Used within the minimization problem. ansi-c*/ /* //$$$$ See minobj_csminwelwrap() as an example. ansi-c*/ - free(minpack_ps->xtemp_dv); - free(minpack_ps->gtemp_dv); + swzFree(minpack_ps->xtemp_dv); + swzFree(minpack_ps->gtemp_dv); DestroyVector_lf(minpack_ps->x_dv); @@ -96,7 +96,7 @@ TSminpack *DestroyTSminpack(TSminpack *minpack_ps) if ( minpack_ps->package & MIN_CSMINWEL ) DestroyTSetc_csminwel((TSetc_csminwel *)minpack_ps->etc_package_ps); /* //=== ansi-c*/ - free(minpack_ps); + swzFree(minpack_ps); return ((TSminpack *)NULL); } else return (minpack_ps); @@ -162,7 +162,7 @@ static TSetc_csminwel *DestroyTSetc_csminwel(TSetc_csminwel *etc_csminwel_ps) DestroyMatrix_lf(etc_csminwel_ps->Hx_dm); /* //=== ansi-c*/ - free(etc_csminwel_ps); + swzFree(etc_csminwel_ps); return ((TSetc_csminwel *)NULL); } else return (etc_csminwel_ps); @@ -276,7 +276,7 @@ struct TSargs_blockcsminwel_tag *DestroyTSargs_blockcsminwel(struct TSargs_block if (args_blockcsminwel) { /* //=== ansi-c*/ - free(args_blockcsminwel); + swzFree(args_blockcsminwel); return ((struct TSargs_blockcsminwel_tag *)NULL); } else @@ -316,7 +316,7 @@ struct TSetc_minproj_tag *DestroyTSetc_minproj(struct TSetc_minproj_tag *etc_min /* //If destroy function is active, destroy it here; ohterwise, it will be destroyed somewhere else. ansi-c*/ /* //=== ansi-c*/ - free(etc_minproj_ps); + swzFree(etc_minproj_ps); return ((struct TSetc_minproj_tag *)NULL); } else return (etc_minproj_ps); @@ -760,7 +760,7 @@ struct TSpackage_imslconlin_tag *DestroyTSpackagae_imslconlin(struct TSpackage_i DestroyVector_lf(XIMSL_DV); /* //=== ansi-c*/ - free(package_imslconlin_ps); + swzFree(package_imslconlin_ps); return ((struct TSpackage_imslconlin_tag *)NULL); } else return (package_imslconlin_ps); @@ -977,7 +977,7 @@ struct TSpackage_congrad1_tag *DestroyTSpackage_congrad1(struct TSpackage_congra if (package_congrad1_ps) { /* //=== ansi-c*/ - free(package_congrad1_ps); + swzFree(package_congrad1_ps); return ((struct TSpackage_congrad1_tag *)NULL); } else return (package_congrad1_ps); diff --git a/matlab/swz/c-code/utilities/TZCcode/tzmatlab.c b/matlab/swz/c-code/utilities/TZCcode/tzmatlab.c index 75259aefd..be2c68fd8 100644 --- a/matlab/swz/c-code/utilities/TZCcode/tzmatlab.c +++ b/matlab/swz/c-code/utilities/TZCcode/tzmatlab.c @@ -93,8 +93,8 @@ TSvoidvector *CreateVector_void(int _n) TSvoidvector *DestroyVector_void(TSvoidvector *x_voidv) { if (x_voidv) { - free(x_voidv->v); - free(x_voidv); + swzFree(x_voidv->v); + swzFree(x_voidv); return ((TSvoidvector *)NULL); } else return (x_voidv); @@ -114,8 +114,8 @@ TScvector *CreateVector_c(int _n) TScvector *DestroyVector_c(TScvector *x_cv) { if (x_cv) { - free(x_cv->v); - free(x_cv); + swzFree(x_cv->v); + swzFree(x_cv); return ((TScvector *)NULL); } else return (x_cv); @@ -133,8 +133,8 @@ TSivector *CreateVector_int(int _n) TSivector *DestroyVector_int(TSivector *x_iv) { if (x_iv) { - free(x_iv->v); - free(x_iv); + swzFree(x_iv->v); + swzFree(x_iv); return ((TSivector *)NULL); } else return (x_iv); @@ -152,8 +152,8 @@ TSimatrix *CreateMatrix_int(int nrows, int ncols) TSimatrix *DestroyMatrix_int(TSimatrix *x_im) { if (x_im) { - free(x_im->M); - free(x_im); + swzFree(x_im->M); + swzFree(x_im); return ((TSimatrix *)NULL); } else return (x_im); @@ -176,8 +176,8 @@ TSicellvec *DestroyCellvec_int(TSicellvec *x_icv) int _i; if (x_icv) { for (_i=0; _incells; _i++) DestroyVector_int(x_icv->C[_i]); - free(x_icv->C); - free(x_icv); + swzFree(x_icv->C); + swzFree(x_icv); return ((TSicellvec *)NULL); } else return (x_icv); @@ -204,7 +204,7 @@ TSicell *DestroyCell_int(TSicell *x_ic) if (x_ic) { for (_i=x_ic->ncells-1; _i>=0; _i--) x_ic->C[_i] = DestroyMatrix_int(x_ic->C[_i]); tzDestroy(x_ic->C); - free(x_ic); + swzFree(x_ic); return ((TSicell *)NULL); } else return (x_ic); @@ -225,8 +225,8 @@ TSdvector *CreateVector_lf(int _n) TSdvector *DestroyVector_lf(TSdvector *x_dv) { if (x_dv) { - free(x_dv->v); - free(x_dv); + swzFree(x_dv->v); + swzFree(x_dv); return ((TSdvector *)NULL); } else return (x_dv); @@ -245,8 +245,8 @@ TSdmatrix *CreateMatrix_lf(int nrows, int ncols) TSdmatrix *DestroyMatrix_lf(TSdmatrix *x_dm) { if (x_dm) { - free(x_dm->M); - free(x_dm); + swzFree(x_dm->M); + swzFree(x_dm); return ((TSdmatrix *)NULL); } else return (x_dm); @@ -275,7 +275,7 @@ TSdcell *DestroyCell_lf(TSdcell *x_dc) if (x_dc) { for (_i=x_dc->ncells-1; _i>=0; _i--) x_dc->C[_i] = DestroyMatrix_lf(x_dc->C[_i]); tzDestroy(x_dc->C); - free(x_dc); + swzFree(x_dc); return ((TSdcell *)NULL); } else return (x_dc); @@ -297,8 +297,8 @@ TSdcellvec *DestroyCellvec_lf(TSdcellvec *x_dcv) { int _i; if (x_dcv) { for (_i=x_dcv->ncells-1; _i>=0; _i--) DestroyVector_lf(x_dcv->C[_i]); - free(x_dcv->C); - free(x_dcv); + swzFree(x_dcv->C); + swzFree(x_dcv); return ((TSdcellvec *)NULL); } else return (x_dcv); @@ -321,8 +321,8 @@ TSdfourth *DestroyFourth_lf(TSdfourth *x_d4) { int _i; if (x_d4) { for (_i=x_d4->ndims-1; _i>=0; _i--) DestroyCell_lf(x_d4->F[_i]); - free(x_d4->F); - free(x_d4); + swzFree(x_d4->F); + swzFree(x_d4); return ((TSdfourth *)NULL); } else return (x_d4); @@ -347,8 +347,8 @@ TSdfourthvec *DestroyFourthvec_lf(TSdfourthvec *x_d4v) int _i; if (x_d4v) { for (_i=x_d4v->ndims-1; _i>=0; _i--) DestroyCellvec_lf(x_d4v->F[_i]); - free(x_d4v->F); - free(x_d4v); + swzFree(x_d4v->F); + swzFree(x_d4v); return ((TSdfourthvec *)NULL); } else return (x_d4v); @@ -366,7 +366,7 @@ TSdzvector *DestroyVector_dz(TSdzvector *x_dzv) if (x_dzv) { DestroyVector_lf(x_dzv->real); DestroyVector_lf(x_dzv->imag); - free(x_dzv); + swzFree(x_dzv); return ((TSdzvector *)NULL); } else return (x_dzv); @@ -383,7 +383,7 @@ TSdzmatrix *DestroyMatrix_dz(TSdzmatrix *x_dzm) if (x_dzm) { DestroyMatrix_lf(x_dzm->real); DestroyMatrix_lf(x_dzm->imag); - free(x_dzm); + swzFree(x_dzm); return ((TSdzmatrix *)NULL); } else return (x_dzm); diff --git a/matlab/swz/c-code/utilities/TZCcode/tzmatlab_dw.h b/matlab/swz/c-code/utilities/TZCcode/tzmatlab_dw.h index 694e344fa..1a967f468 100644 --- a/matlab/swz/c-code/utilities/TZCcode/tzmatlab_dw.h +++ b/matlab/swz/c-code/utilities/TZCcode/tzmatlab_dw.h @@ -189,7 +189,7 @@ #define tzMalloc(elt_count, type) (type *)m_alloc((elt_count)*sizeof(type)) #define tzCalloc(elt_count, type) (type *)c_alloc((elt_count), sizeof(type)) #define tzDestroy(x) {if ((x)) { \ - free((x)); \ + swzFree((x)); \ (x) = NULL; \ }} #define tzFclose(x) {if ((x)) { \ diff --git a/matlab/swz/c-code/utilities/TZCcode/tzmatlab_tao.h b/matlab/swz/c-code/utilities/TZCcode/tzmatlab_tao.h index 858305610..24bcd6baa 100644 --- a/matlab/swz/c-code/utilities/TZCcode/tzmatlab_tao.h +++ b/matlab/swz/c-code/utilities/TZCcode/tzmatlab_tao.h @@ -185,7 +185,7 @@ #define tzMalloc(elt_count, type) (type *)m_alloc((elt_count)*sizeof(type)) #define tzCalloc(elt_count, type) (type *)c_alloc((elt_count), sizeof(type)) #define tzDestroy(x) {if ((x)) { \ - free((x)); \ + swzFree((x)); \ (x) = NULL; \ }} #define tzFclose(x) {if ((x)) { \