/* basics.c */
#include "../PatchAndGoInfo.h"
/*--------------------------------------------------------------------*/
/*
-----------------------
constructor method
created -- 98aug26, cca
-----------------------
*/
PatchAndGoInfo *
PatchAndGoInfo_new (
void
) {
PatchAndGoInfo *info ;
ALLOCATE(info, struct _PatchAndGoInfo, 1) ;
PatchAndGoInfo_setDefaultFields(info) ;
return(info) ; }
/*--------------------------------------------------------------------*/
/*
-----------------------
set the default fields
created -- 98aug26, cca
-----------------------
*/
void
PatchAndGoInfo_setDefaultFields (
PatchAndGoInfo *info
) {
if ( info == NULL ) {
fprintf(stderr, "\n fatal error in PatchAndGoInfo_setDefaultFields()"
"\n bad input\n") ;
exit(-1) ;
}
info->strategy = -1 ;
info->toosmall = 0.0 ;
info->fudge = 0.0 ;
info->fudgeIV = NULL ;
info->fudgeDV = NULL ;
return ; }
/*--------------------------------------------------------------------*/
/*
-----------------------
clear the data fields
created -- 98aug26, cca
-----------------------
*/
void
PatchAndGoInfo_clearData (
PatchAndGoInfo *info
) {
if ( info == NULL ) {
fprintf(stderr, "\n fatal error in PatchAndGoInfo_clearData()"
"\n bad input\n") ;
exit(-1) ;
}
if ( info->fudgeIV != NULL ) {
IV_free(info->fudgeIV) ;
}
if ( info->fudgeDV != NULL ) {
DV_free(info->fudgeDV) ;
}
PatchAndGoInfo_setDefaultFields(info) ;
return ; }
/*--------------------------------------------------------------------*/
/*
-----------------------
destructor
created -- 98aug26, cca
-----------------------
*/
void
PatchAndGoInfo_free (
PatchAndGoInfo *info
) {
if ( info == NULL ) {
fprintf(stderr, "\n fatal error in PatchAndGoInfo_free()"
"\n bad input\n") ;
exit(-1) ;
}
PatchAndGoInfo_clearData(info) ;
FREE(info) ;
return ; }
/*--------------------------------------------------------------------*/
syntax highlighted by Code2HTML, v. 0.9.1