Represents a continuous variable for an individual.

Methods


Method new()

Create a new DoubleVariable.

Usage

DoubleVariable$new(initial_values)

Arguments

initial_values

a numeric vector of the initial value for each individual.


Method get_values()

get the variable values.

Usage

DoubleVariable$get_values(index = NULL)

Arguments

index

optionally return a subset of the variable vector. If NULL, return all values; if passed a Bitset or integer vector, return values of those individuals.


Method get_index_of()

return a Bitset giving individuals whose value lies in an interval \([a,b]\).

Usage

DoubleVariable$get_index_of(a, b)

Arguments

a

lower bound

b

upper bound


Method get_size_of()

return the number of individuals whose value lies in an interval Count individuals whose value lies in an interval \([a,b]\).

Usage

DoubleVariable$get_size_of(a, b)

Arguments

a

lower bound

b

upper bound


Method queue_update()

Queue an update for a variable. There are 4 types of variable update:

  1. Subset update: The argument index represents a subset of the variable to update. The argument values should be a vector whose length matches the size of index, which represents the new values for that subset.

  2. Subset fill: The argument index represents a subset of the variable to update. The argument values should be a single number, which fills the specified subset.

  3. Variable reset: The index vector is set to NULL and the argument values replaces all of the current values in the simulation. values should be a vector whose length should match the size of the population, which fills all the variable values in the population

  4. Variable fill: The index vector is set to NULL and the argument values should be a single number, which fills all of the variable values in the population.

Usage

DoubleVariable$queue_update(values, index = NULL)

Arguments

values

a vector or scalar of values to assign at the index.

index

is the index at which to apply the change, use NULL for the fill options. If using indices, this may be either a vector of integers or a Bitset.


Method queue_extend()

extend the variable with new values

Usage

DoubleVariable$queue_extend(values)

Arguments

values

to add to the variable


Method queue_shrink()

shrink the variable

Usage

DoubleVariable$queue_shrink(index)

Arguments

index

a bitset or vector representing the individuals to remove


Method size()

get the size of the variable

Usage

DoubleVariable$size()


Method .update()

Usage

DoubleVariable$.update()


Method .resize()

Usage

DoubleVariable$.resize()


Method save_state()

save the state of the variable

Usage

DoubleVariable$save_state()


Method restore_state()

restore the variable from a previously saved state.

Usage

DoubleVariable$restore_state(timestep, state)

Arguments

timestep

the timestep at which simulation is resumed. This parameter's value is ignored, it only exists to conform to a uniform interface with events.

state

the previously saved state, as returned by the save_state method. NULL is passed when restoring from a saved simulation in which this variable did not exist.


Method clone()

The objects of this class are cloneable with this method.

Usage

DoubleVariable$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.