emit_float_initialiser Subroutine

public subroutine emit_float_initialiser(name, data, dims, inits, num_inits)

Emit a float32 initialiser with explicit dimensions.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name
real(kind=real32), intent(in) :: data(:)
integer, intent(in) :: dims(:)
type(onnx_initialiser_type), intent(inout) :: inits(:)
integer, intent(inout) :: num_inits

Source Code

  subroutine emit_float_initialiser(name, data, dims, inits, num_inits)
    !! Emit a float32 initialiser with explicit dimensions.
    implicit none

    character(*), intent(in) :: name
    real(real32), intent(in) :: data(:)
    integer, intent(in) :: dims(:)
    type(onnx_initialiser_type), intent(inout) :: inits(:)
    integer, intent(inout) :: num_inits

    num_inits = num_inits + 1
    inits(num_inits)%name = trim(name)
    inits(num_inits)%data_type = 1
    allocate(inits(num_inits)%dims(size(dims)))
    inits(num_inits)%dims = dims
    allocate(inits(num_inits)%data(size(data)))
    inits(num_inits)%data = data

  end subroutine emit_float_initialiser