Skip to content

Reduce code reuse in inits #265

@MartinuzziFrancesco

Description

@MartinuzziFrancesco

The deterministic initializers have a lot of structures in common. I think we can reduce code reuse by building functions such as

function delay_line!(reservoir_matrix::AbstractMatrix, weight::Number)
    for idx in first(axes(reservoir_matrix, 1)):(last(axes(reservoir_matrix, 1)) - 1)
        reservoir_matrix[idx + 1, idx] = weight
    end
    return reservoir_matrix
end

This way we can even have more control over the weights by having a dispatch over a vector of values

function delay_line!(reservoir_matrix::AbstractMatrix, weight::AbstractVector)
    for idx in first(axes(reservoir_matrix, 1)):(last(axes(reservoir_matrix, 1)) - 1)
        reservoir_matrix[idx + 1, idx] = weight[idx]
    end
    return reservoir_matrix
end

Metadata

Metadata

Assignees

No one assigned

    Labels

    initsinitializers for internal matrices

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions