Commit 1062d719 authored by Wolfgang Kilian's avatar Wolfgang Kilian
Browse files

Mehr Kommentare im Source-Code

parent 09a61723
! Modul: Standard-"double" Zahlen für präzise Rechnung
! Wir nutzen die ISO-Definition von 64bit Real-Zahlen
!
! (In der Praxis identisch mit "double precision" in Fortran und "double" in C/C++)
module kinds
use, intrinsic :: iso_fortran_env, only: real64
......
! Modul: Datentyp "neuron" und seine Methoden
!
! Ein Neuron implementiert eine Linearform mit Parameter-Vektor b und Offset a
! gefolgt von einer nichtlinearen Abbildung (tanh)
module neurons
use kinds, only: wp
......@@ -7,6 +12,7 @@ module neurons
public :: neuron
type :: neuron
private
real(wp) :: a
real(wp), dimension(:), allocatable :: b
contains
......@@ -17,6 +23,7 @@ module neurons
contains
! Ausgabe in übersichtlicher Form nach I/O-Unit u
subroutine write (n, u)
class(neuron), intent(in) :: n
integer, intent(in) :: u
......@@ -31,6 +38,7 @@ contains
end subroutine write
! Initialisierung mit Werten für a und b
subroutine init (n, a, b)
class(neuron), intent(out) :: n
real(wp), intent(in) :: a
......@@ -41,6 +49,7 @@ contains
end subroutine init
! Anwendung der Abbildung auf Vektor x
function apply (n, x) result (z)
class(neuron), intent(in) :: n
real(wp), dimension(:), intent(in) :: x
......
! Hauptprogramm: Neural Network - Ansatz
!
! Implementiert den Datentyp "neuron" und führt alle Unit Tests aus
! Ausgabe in das File "nnet.out"
program nnet
implicit none
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment