neuron_m Module


Uses

  • module~~neuron_m~~UsesGraph module~neuron_m neuron_m julienne_string_m julienne_string_m module~neuron_m->julienne_string_m module~double_precision_string_m double_precision_string_m module~neuron_m->module~double_precision_string_m module~kind_parameters_m kind_parameters_m module~neuron_m->module~kind_parameters_m julienne_m julienne_m module~double_precision_string_m->julienne_m

Used by

  • module~~neuron_m~~UsedByGraph module~neuron_m neuron_m module~layer_m layer_m module~layer_m->module~neuron_m module~neural_network_s neural_network_s module~neural_network_s->module~neuron_m module~neural_network_s->module~layer_m module~neuron_s neuron_s module~neuron_s->module~neuron_m module~layer_s layer_s module~layer_s->module~layer_m

Interfaces

public interface neuron_t

  • private pure module function default_real_from_components(weights, bias) result(neuron)

    construct single neuron_t object from an array of weights and a bias

    Arguments

    Type IntentOptional Attributes Name
    real, intent(in) :: weights(:)
    real, intent(in) :: bias

    Return Value type(neuron_t)

  • private pure module function double_precision_from_components(weights, bias) result(neuron)

    construct single neuron_t object from an array of weights and a bias

    Arguments

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

    Return Value type(neuron_t(double_precision))

  • private pure recursive module function double_precision_from_json(neuron_lines, start) result(neuron)

    construct linked list of neuron_t objects from an array of JSON-formatted text lines

    Arguments

    Type IntentOptional Attributes Name
    type(double_precision_string_t), intent(in) :: neuron_lines(:)
    integer, intent(in) :: start

    Return Value type(neuron_t(double_precision))

  • private pure recursive module function from_json(neuron_lines, start) result(neuron)

    construct linked list of neuron_t objects from an array of JSON-formatted text lines

    Arguments

    Type IntentOptional Attributes Name
    type(string_t), intent(in) :: neuron_lines(:)
    integer, intent(in) :: start

    Return Value type(neuron_t)

interface

  • private module function default_real_bias(self) result(my_bias)

    Arguments

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

    Return Value real

interface

  • private module function default_real_next_allocated(self) result(next_is_allocated)

    Arguments

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

    Return Value logical

interface

  • private module function default_real_next_pointer(self) result(next_ptr)

    Arguments

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

    Return Value type(neuron_t), pointer

interface

  • private pure module function default_real_num_inputs(self) result(size_weights)

    Arguments

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

    Return Value integer

interface

  • private pure module function default_real_to_json(self) result(lines)

    Arguments

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

    Return Value type(string_t), allocatable, (:)

interface

  • private module function default_real_weights(self) result(my_weights)

    Arguments

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

    Return Value real, allocatable, (:)

interface

  • private module function double_precision_bias(self) result(my_bias)

    Arguments

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

    Return Value double precision

interface

  • private module function double_precision_next_allocated(self) result(next_is_allocated)

    Arguments

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

    Return Value logical

interface

  • private module function double_precision_next_pointer(self) result(next_ptr)

    Arguments

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

    Return Value type(neuron_t(double_precision)), pointer

interface

  • private pure module function double_precision_num_inputs(self) result(size_weights)

    Arguments

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

    Return Value integer

interface

  • private pure module function double_precision_to_json(self) result(lines)

    Arguments

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

    Return Value type(string_t), allocatable, (:)

interface

  • private module function double_precision_weights(self) result(my_weights)

    Arguments

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

    Return Value double precision, allocatable, (:)


Derived Types

type, public ::  neuron_t

linked list of neurons

Components

Type Visibility Attributes Name Initial
integer, public, kind :: k = default_real
real(kind=k), private :: bias_
type(neuron_t(k)), private, allocatable :: next
real(kind=k), private, allocatable :: weights_(:)

Constructor

private pure, module function default_real_from_components (weights, bias)

construct single neuron_t object from an array of weights and a bias

private pure, module function double_precision_from_components (weights, bias)

construct single neuron_t object from an array of weights and a bias

private pure, recursive, module function double_precision_from_json (neuron_lines, start)

construct linked list of neuron_t objects from an array of JSON-formatted text lines

private pure, recursive, module function from_json (neuron_lines, start)

construct linked list of neuron_t objects from an array of JSON-formatted text lines

Type-Bound Procedures

generic, public :: bias => default_real_bias, double_precision_bias
generic, public :: next_allocated => default_real_next_allocated, double_precision_next_allocated
generic, public :: next_pointer => default_real_next_pointer, double_precision_next_pointer
generic, public :: num_inputs => default_real_num_inputs, double_precision_num_inputs
generic, public :: to_json => default_real_to_json, double_precision_to_json
generic, public :: weights => default_real_weights, double_precision_weights
procedure, private :: default_real_bias
procedure, private :: default_real_next_allocated
procedure, private :: default_real_next_pointer
procedure, private :: default_real_num_inputs
procedure, private :: default_real_to_json
procedure, private :: default_real_weights
procedure, private :: double_precision_bias
procedure, private :: double_precision_next_allocated
procedure, private :: double_precision_next_pointer
procedure, private :: double_precision_num_inputs
procedure, private :: double_precision_to_json
procedure, private :: double_precision_weights