Hi,
I tried to define an operator, but it didn’t work.
Please help!
Below, I place a narrowed down example, where I define a new name for multiplication of two reals.
Thanks!
Arjan
The module:
Module LibTest
IMPLICIT NONE
PRIVATE
PUBLIC :: Float
INTEGER,PARAMETER :: Float = 4
INTERFACE OPERATOR (.Dot.)
MODULE PROCEDURE MapFloat
END INTERFACE
CONTAINS
FUNCTION MapFloat( M, y )
REAL( Float ) MapFloat
REAL(Float), INTENT( IN ) :: y
REAL(Float), INTENT( IN ) :: M
MapFloat = M*y
END FUNCTION MapFloat
END MODULE LibTest
and the program:
PROGRAM Test
USE LibTest
IMPLICIT NONE
REAL(Float) :: M = 12.,x = 13.,y
WRITE(*,*) M
WRITE(*,*) x
y = M .Dot. x
WRITE(*,*) y
END