Apply a callback to an array: Difference between revisions

Content added Content deleted
Line 354: Line 354:


=={{header|Fortran}}==
=={{header|Fortran}}==
In ISO Fortran 95 or later, use elemental functions
In ISO Fortran 95 or later, use elemental functions:
ELEMENTAL FUNCTION CUBE( X )
ELEMENTAL FUNCTION CUBE( X )
IMPLICIT NONE
IMPLICIT NONE
Line 365: Line 365:
IMPLICIT NONE
IMPLICIT NONE
INTEGER :: I, J
INTEGER :: I, J
REAL, DIMENSION(20,4) :: B, &
REAL, DIMENSION(3,4) :: B, &
A = RESHAPE( (/ ((0.1 * I + J, I = 1, 20), J = 1, 4) /), (/ 20,4 /) )
A = RESHAPE( (/ ((0.1 * I + J, I = 1, 20), J = 1, 4) /), (/ 3,4 /) )
DO I = 1, 3
WRITE(*,*) A(I,:)
END DO
B = CUBE( A ) ! Applies CUBE to every member of A,
B = CUBE( A ) ! Applies CUBE to every member of A,
! and stores each result in the equivalent element of B
! and stores each result in the equivalent element of B
DO I = 1, 20
DO I = 1, 3
WRITE(*,*) B(I,:)
WRITE(*,*) B(I,:)
END DO
END DO
END PROGRAM EXAMPLE
END PROGRAM EXAMPLE



ANSI FORTRAN 77 (with MIL-STD-1753 structured DO) Example:
ANSI FORTRAN 77 (with MIL-STD-1753 structured DO) Example: