Small actors support setting the weight of an output signal for all possible action choice states at once.
The functions qsmm_get_actor_sig_weight
and qsmm_set_actor_sig_weight
described below can inspect or modify the array of weights of output signals of a small actor.
A large actor does not support setting the weight of an output signal for all possible action choice states at once and does not use that array.
The function qsmm_actor_create
initializes to 1 the weights of all output signals of a newly created small actor in the array.
If an output signal of a small actor has a profile probability specified for an action choice state in statistics storage, the overall weight of this output signal is the product of a corresponding weight in the array and the profile probability.
The function qsmm_actor_calc_action_prob
always applies weights contained in the array to computed relative probabilities, disregarding of a requested type of probabilities to calculate.
After multiplying computed relative probabilities by corresponding weights, qsmm_actor_calc_action_prob
normalizes a resulting array to obtain probabilities that sum up to 1.
This function sets *weight_p to the weight of output signal sig of an actor.
If weight_p is NULL
, the function does not set *weight_p.
Otherwise, *weight_p is a finite and non-negative number.
The function returns a non-negative value on success or a negative error code on failure. Currently, the function can return the following error codes.
QSMM_ERR_INVAL
Signal sig is not an output signal of the actor.
QSMM_ERR_NOTSUP
The actor is the large one.
This function sets the weight of output signal sig of an actor to weight.
The function returns a non-negative value on success or a negative error code on failure. Currently, the function can return the following error codes.
QSMM_ERR_INVAL
Signal sig is not an output signal of the actor, or weight is not a finite number or is a negative number.
QSMM_ERR_NOTSUP
The actor is the large one.