Rev | Line | |
---|
[1765] | 1 | MODULE outerprod_m |
---|
| 2 | |
---|
| 3 | IMPLICIT NONE |
---|
| 4 | |
---|
| 5 | INTERFACE outerprod |
---|
| 6 | MODULE PROCEDURE outerprod_r,outerprod_d |
---|
| 7 | END INTERFACE |
---|
| 8 | |
---|
| 9 | private outerprod_r,outerprod_d |
---|
| 10 | |
---|
| 11 | CONTAINS |
---|
| 12 | |
---|
| 13 | FUNCTION outerprod_r(a,b) |
---|
| 14 | REAL, DIMENSION(:), INTENT(IN) :: a,b |
---|
| 15 | REAL, DIMENSION(size(a),size(b)) :: outerprod_r |
---|
| 16 | outerprod_r = spread(a,dim=2,ncopies=size(b)) * & |
---|
| 17 | spread(b,dim=1,ncopies=size(a)) |
---|
| 18 | END FUNCTION outerprod_r |
---|
| 19 | !BL |
---|
| 20 | FUNCTION outerprod_d(a,b) |
---|
| 21 | DOUBLE PRECISION, DIMENSION(:), INTENT(IN) :: a,b |
---|
| 22 | DOUBLE PRECISION, DIMENSION(size(a),size(b)) :: outerprod_d |
---|
| 23 | outerprod_d = spread(a,dim=2,ncopies=size(b)) * & |
---|
| 24 | spread(b,dim=1,ncopies=size(a)) |
---|
| 25 | END FUNCTION outerprod_d |
---|
| 26 | |
---|
| 27 | END MODULE outerprod_m |
---|
Note: See
TracBrowser
for help on using the repository browser.