From cwou@npac.syr.edu Mon Jul 7 21:34:24 1997 Date: Mon, 07 Jul 1997 14:37:28 -0400 From: Chao-Wei Ou To: Paul Coddington Cc: cwou@dante.npac.syr.edu Subject: Re: status On 7 Jul 1997 14:8:2, Paul Coddington wrote: > > How are things with the NT port? Still stuck at the same memory allocation problem on quad-cpu NT. Currently, no solution is found. But I'll try to grab more help from others to sove it. > > Can you give me a definition of the new API for running the MC programs. If you expect the answer according to the last discussion about running varable time steps, this would need to reimplement the kernel of MC. I need to reimplement the part to generate samples. This would be a significant change to Miloje's code, or I should say a new MC code. Before I implement this feature, I need you to verify the probablity function. Basically, the API will be the following new data structure. typedef struct mc_interface { int NumberOfRates; /* Total number of rates */ char ProxyRatesContainer[80]; /* Output proxy rate file */ int NumberOfCycles; /* Number of MC cycle */ int RNGSeed; /* Random number seed */ int NumberOfMeasurementBlocks; /* Number of measurement blocks */ int SizeOfMeasurementBlock; /* Number of trials in a block */ int NumberOfRelaxBlocks; /* NUmber of relaxation blocks */ REAL *InitialValues; /* Initial values for rates */ int NumberOfDiffTimeSteps; /* Number of different time steps */ TIMESTEPS *timestep; /* pointer of variable time steps with size NumberOfDiffTimeSteps */ } MC_INTERFACE; typedef struct timesteps { int unit; /* 1|2|3|4 represent dayly|weekly|monthly|yearly */ int upper; /* the upper bound for this time interval */ int lower; /* the lower bound for this time interval */ DATE start_date; /* Starting date of this time interval */ DATE end_date; /* Ending date of this time interval */ int distribution; /* choice of the distribution */ float variance; /* associated variance */ float **correlation; /* associated correlation matrix */ } TIMESTEPS; typedef struct date { int day; /* the input day of the month */ int month; /* the input month of the year */ int year; /* the input year */ } DATE; > Have you implemented a mechanism for returning the status (e.g. number of > iterations)? > The return status for number of loops is done. All I have done just adding a print statement in the MC loops to indicate the current loop.