📄 changelog
字号:
2002-10-02 Paul E Johnson <pauljohn@ukans.edu>
* World.m (bitnamelist): Put parens around GETMA macro. Thanks to
Thomas Badegruber for pointing out the problem and the
fix.<thomas.badegruber@uni-graz.at>
* asm.scm (cons): add D0 to all double valued entries. Windows
users got crashes without them.
2001-11-25 <pauljohn@dv01m45.lawrence.ks.us>
* ASMModelSwarm.m ([ASMModelSwarm -buildObjects]): No need to set
world or agentList in Specialist anymore. See below where performTrading
and completeTrading are discussed.
* Specialist.h: changed performTrading method to performTrading:
Market: and completeTrades is now completeTrades: Market:. This
way, the agent list and the market are explicitly passed in every
time. There is no need for Specialist class to have IVARs world
and agentList, so now the Specialist class can be archived without
any hassle. That is, putShallow should work.
2001-11-08 <pauljohn@dv01m45.lawrence.ks.us>
* Output.m ([Output -writeData]): Necessary to have hdf5 archives
putDeep because they can't save ordinary C arrays otherwise.
2001-11-06 <pauljohn@dv01m45.lawrence.ks.us>
* World.m (changes): Converted pricehistory and divhistory back to
dynamically allocated arrays. This was done because the Swarm
archiver was writing those arrays at every timestep, massively
filling up filespace. Don't know how to selectively write
variables from objects yet.
2001-11-03 <pauljohn@dv01m45.lawrence.ks.us>
* BFagent.m ([BFagent -initForecasts]): Now privateParams is a
truely separate instance of BFParams, one for each object. The old
way of using the same instance for all agents seemed fraught with
danger.
* BFParams.m ([BFParams -copy:aZone]): New method to create a copy
of an instance and return it. Does detailed copy of all ivars,
including dynamically allocated arrays.
([BFParams -copyProbList:p:size]): used in copy: method. This takes
a pointer to a double array and replaced the problist with it.
([BFParams -copyBitList:Length:size]): copies a bitlist and replaces
existing bitlist with it.
2001-11-02 <pauljohn@dv01m45.lawrence.ks.us>
* BFParams.m ([BFParams -init]): Commented out "myWorld" array,
couldn't find any place it was used. Also commented out
lastgatime, couldn't figure why that value was kept here in the
parameters object, rather than in the BFagent. Maybe there's a
reason, but I can't find it.
* ASMObserverSwarm.m ([ASMObserverSwarm -expostParamWrite]): fixed
expostParamWrite error (due to unavailability of time at
shutdown).
([ASMObserverSwarm -buildObjects]): show probe map for BFParams
object.
2001-11-02 Paul E. Johnson <pauljohn@pjdell.pols.ukans.edu>
* ASMObserverSwarm.m ([ASMObserverSwarm -buildObjects]): create
IVAR output, an aOutput object. This must exist as soon as the GUI
comes up, because the GUI buttons allow people to write
output. So, the output has to exist before the control panel stops
the simulation, and then the output object must be passed along to
ASMModelSwarm, where in turn the buildObjects method sticks some
things into the Output object. This is at the outer limits of my
patience.
([ASMObserverSwarm -drop]): make sure the expostParamWrite method
is called, to save a copy of parameters at shutdown time if
writeParams==1;
* Output.m ([Output -initializeHDFWriter]): Trying to stop the
nuisance of the empty hdfGraph file that was created from runs
that had data writing turned off.
* ASMObserverSwarm.m ([ASMObserverSwarm -buildObjects]): put
control panel set state stopped before model swarm is
created. That way, any magic done in Parameters class will be
taken into account when the model is created.
2001-10-26 Paul E Johnson <pauljohn@ukans.edu>
* ASMModelSwarm.h: delete warmupStepDividend and warmupStepPrice.
Delete the -initPeriod: method. It was superflous
* ASMModelSwarm.m ([ASMModelSwarm -initPeriod:]): This method is
unnecessary. It can be replaced by a createAction in time 0 to the
startupSchedule. Note memory leaks of undropped objects in the
warmUp: method.
([ASMModelSwarm -doWarmupStep]): new method to replace the 3
separate methods,
- warmupStepDividend;
- warmupStepPrice;
I verified that the simulation is exactly the same after this
change.
* ASMModelSwarm.h: convert warmUp and initPeriod to methods. Don't
know why they were C functions before. Did Autodoc documentation.
2001-10-26 <pauljohn@dv01m45.lawrence.ks.us>
* BFagent.h (Agent): nactive removed from IVAR list, it is used
only in prepareForTrading, so it is defined there.
2001-10-25 <pauljohn@dv01m45.lawrence.ks.us>
* World.m (GETMA): GETMA(ma,i) is a macro that tells the given ma
whether to get the exponential or regular ma. IT gets it from the
i'th element of the array of moving averages.
* World.h (SwarmObject): delete awieght, bweight. That gets taken
care of byMovingAverage now. priceMA, divMA, oldpriceMA, olddivMA
objects now replace old mas. These MA objects keep both regular and
exponential MAs, and retrieve them with getMA and getEWMA.
2001-10-25 <pauljohn@ukans.edu>
* World.m: Moved define NMAS into World.h, converted pointers to
arrays[NMAS], got rid of alloc's in World.m.
* World.m: Moved define UPDOWNLOOKBACK into World.h,
converted pointers to arrays[NMAS], got rid of alloc's in World.m.
2001-10-25 Paul E Johnson <pauljohn@ukans.edu>
* BFagent.m ([BFagent -CopyRule:to:from]): minstrength has to be
put back in as a global variable because it is used in the
performGA as well as CopyRule methods. Changing it to a local
variable broke CopyRule for some forecasts in which Count=0. That
was hard to track down, I'll tell ya.
2001-10-24 Paul E Johnson <pauljohn@ukans.edu>
* ASMObserverSwarm.hm (GUISwarm): Found way to make histograms
work without using these IVARS *position, *wealth,and
*relativeWealth. That means no more need for calloc calls in the
"m" file and it also means that this model should respond well if
agents are removed or added (i.e., numagents need not be a
constant).
* Output.m ([Output -writeData]): hdfWriter is an EZGraph that
does not show on the screen, but it dumps its time series into a
file. That means there are 3 data outputs: 1 text, 1 archiver
dump (either hdf5 or scm) and 1 hdf5. This new EZGraph writer
requires a newish edition of swarm.
2001-10-23 <pauljohn@dv01m45.lawrence.ks.us>
* ASMObserverSwarm.h (GUISwarm): Convert volumeGraph to EZGraph
format, insert _volumeGraphDeath_ method for destroy notification.
2001-10-23 Paul E Johnson <pauljohn@ukans.edu>
* ASMObserverSwarm.m ([ASMObserverSwarm -buildObjects]): Convert
Graph to EZGraphs, create _priceGraphDeath_: method for destroy
notification.
2001-06-29 Paul E. Johnson <pauljohn@pjdell.pols.ukans.edu>
* BFParams.m ([BFParams -createEnd]): init method name changed to
createEnd, so that these settings are ready from the moment the
object is created.
* Output.hm (SwarmObject): new dataArchiver object, writes in hdf5
or lisp, according to cpp flag.
* Parameters.h: New class to collect up parameter creation
* Output.m ([Output -createEnd]): create timeString variable to
capture current time. Purify it. Use it in naming files
2001-06-28 Paul E. Johnson <pauljohn@pjdell.pols.ukans.edu>
* ASMObserverSwarm.m ([ASMObserverSwarm -buildObjects]): fix
coding for graphs to unrwap object creation because Swarm no
longer returns values from creating methods.
2001-02-08 Paul E Johnson <pauljohn@ukans.edu>
* Specialist.[hm]: removed setEtaMax/setEtaMin methods because
they were never used. Cleaned out unused variables.
* Specialist.[hm]: removed init method, because its work has been
reallocated to other methods.
* ASMObserverSwarm.m ([ASMObserverSwarm -expostParamWrite]): If
writeParams is YES at the end of the run, it dumps a copy of the
settings. That way, there will always be a record of the
simulation, even if the user punches the "writeSimulationParams"
button only at the very beginning.
* Output.m ([Output -writeParams:BFAgent:Time:t]): Moved all
archiver-creating code and parmeter writing activity in here.
* ASMObserverSwarm.m ([ASMObserverSwarm -writeSimulationParams]):
Whenever you punch the "writeSimulationParams" button, it tells
Output object to dump out a time-keyed set of parameters to
asm.scm. Note: If user does this before the model has started,
nothing happens because there are no objects to save yet. But it
will turn on a switch that causes params to be automatically saved
at the end of the run.
* ASMModelSwarm.m ([ASMModelSwarm -createEnd]): added, set
modelTime=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -