Class BinOpTestParticle
Inheritance
BinOpTestParticle
Assembly: .dll
Syntax
public class BinOpTestParticle : ParticleAlgorithm
Constructors
BinOpTestParticle(Particle)
Declaration
public BinOpTestParticle(Particle p)
Parameters
Fields
a
Declaration
private ParticleAttribute<bool> a
Field Value
b
Declaration
private ParticleAttribute<bool> b
Field Value
binOps
Declaration
Field Value
c
Declaration
private ParticleAttribute<bool> c
Field Value
compResult
Declaration
private ParticleAttribute<SubComparison.ComparisonResult> compResult
Field Value
isMSBA
Declaration
private ParticleAttribute<bool> isMSBA
Field Value
isStart
Declaration
private ParticleAttribute<bool> isStart
Field Value
mode
Declaration
private ParticleAttribute<BinOpTestParticle.Mode> mode
Field Value
overflow
Declaration
private ParticleAttribute<bool> overflow
Field Value
pred
Declaration
private ParticleAttribute<Direction> pred
Field Value
round
Declaration
private ParticleAttribute<int> round
Field Value
succ
Declaration
private ParticleAttribute<Direction> succ
Field Value
Properties
GenerationMethod
Declaration
public static string GenerationMethod { get; }
Property Value
Name
Declaration
public static string Name { get; }
Property Value
PinsPerEdge
The number of pins on each edge.
This number must be the same constant for all
particles.
Declaration
public override int PinsPerEdge { get; }
Property Value
Overrides
Methods
ActivateBeep()
This is the second part of the main activation logic of the
particle. It is called exactly once in each round, after the
movements scheduled in ActivateMove() have been
executed, and should contain the algorithm code that
implements the look-compute-beep cycle.
Inside of this method, particles are allowed to change their
pin configuration and send beeps and messages on the updated
configuration.
Note that beeps and messages sent in the current round will
be readable in both the ActivateMove() and
ActivateBeep() calls in the next round.
Declaration
public override void ActivateBeep()
Overrides
ActivateMove()
This is one part of the main activation logic of the particle.
It is called exactly once in each round and should contain the
algorithm code that implements the look-compute-move cycle.
After the movements are executed, ActivateBeep()
is called within the same round.
Inside of this method, particles are allowed to release bonds,
define which bonds should be marked, and schedule movements.
Only the last movement operation scheduled in this method will
be applied.
Declaration
public override void ActivateMove()
Overrides
Init(bool, bool, Mode)
Declaration
public void Init(bool a = false, bool b = false, BinOpTestParticle.Mode mode = Mode.MULT)
Parameters