tensor_t Derived Type

type, public :: tensor_t


Inherited by

type~~tensor_t~~InheritedByGraph type~tensor_t tensor_t type~input_output_pair_t input_output_pair_t type~input_output_pair_t->type~tensor_t inputs_, expected_outputs_ type~mini_batch_t mini_batch_t type~mini_batch_t->type~input_output_pair_t input_output_pairs_

Components

Type Visibility Attributes Name Initial
integer, public, kind :: k = default_real
real(kind=k), private, allocatable :: values_(:)

Constructor

public interface tensor_t

  • private pure module function construct_default_real(values) result(tensor)

    Arguments

    Type IntentOptional Attributes Name
    real, intent(in) :: values(:)

    Return Value type(tensor_t)

  • private pure module function construct_double_precision(values) result(tensor)

    Arguments

    Type IntentOptional Attributes Name
    double precision, intent(in) :: values(:)

    Return Value type(tensor_t(double_precision))


Type-Bound Procedures

generic, public :: num_components => default_real_num_components, double_precision_num_components

generic, public :: values => default_real_values, double_precision_values

procedure, private :: default_real_num_components

  • interface

    private pure module function default_real_num_components(self) result(n)

    Arguments

    Type IntentOptional Attributes Name
    class(tensor_t), intent(in) :: self

    Return Value integer

procedure, private, non_overridable :: default_real_values

  • interface

    private pure module function default_real_values(self) result(tensor_values)

    Arguments

    Type IntentOptional Attributes Name
    class(tensor_t), intent(in) :: self

    Return Value real, allocatable, (:)

procedure, private :: double_precision_num_components

  • interface

    private pure module function double_precision_num_components(self) result(n)

    Arguments

    Type IntentOptional Attributes Name
    class(tensor_t(double_precision)), intent(in) :: self

    Return Value integer

procedure, private, non_overridable :: double_precision_values

  • interface

    private pure module function double_precision_values(self) result(tensor_values)

    Arguments

    Type IntentOptional Attributes Name
    class(tensor_t(double_precision)), intent(in) :: self

    Return Value double precision, allocatable, (:)