Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
20
Task/Forward-difference/Fortran/forward-difference-1.f
Normal file
20
Task/Forward-difference/Fortran/forward-difference-1.f
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
MODULE DIFFERENCE
|
||||
IMPLICIT NONE
|
||||
|
||||
CONTAINS
|
||||
|
||||
SUBROUTINE Fdiff(a, n)
|
||||
INTEGER, INTENT(IN) :: a(:), n
|
||||
INTEGER :: b(SIZE(a))
|
||||
INTEGER :: i, j, arraysize
|
||||
|
||||
b = a
|
||||
arraysize = SIZE(b)
|
||||
DO i = arraysize-1, arraysize-n, -1
|
||||
DO j = 1, i
|
||||
b(j) = b(j+1) - b(j)
|
||||
END DO
|
||||
END DO
|
||||
WRITE (*,*) b(1:arraysize-n)
|
||||
END SUBROUTINE Fdiff
|
||||
END MODULE DIFFERENCE
|
||||
13
Task/Forward-difference/Fortran/forward-difference-2.f
Normal file
13
Task/Forward-difference/Fortran/forward-difference-2.f
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
PROGRAM TEST
|
||||
|
||||
USE DIFFERENCE
|
||||
IMPLICIT NONE
|
||||
|
||||
INTEGER :: array(10) = (/ 90, 47, 58, 29, 22, 32, 55, 5, 55, 73 /)
|
||||
INTEGER :: i
|
||||
|
||||
DO i = 1, 9
|
||||
CALL Fdiff(array, i)
|
||||
END DO
|
||||
|
||||
END PROGRAM TEST
|
||||
17
Task/Forward-difference/Fortran/forward-difference-3.f
Normal file
17
Task/Forward-difference/Fortran/forward-difference-3.f
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
function forward_difference( a() as uinteger ) as uinteger ptr
|
||||
dim as uinteger ptr b = allocate( sizeof(uinteger) * (ubound(a)-1) )
|
||||
for i as uinteger = 0 to ubound(a)-1
|
||||
*(b+i) = a(i+1)-a(i)
|
||||
next i
|
||||
return b
|
||||
end function
|
||||
|
||||
dim as uinteger a(0 to 15) = {2, 3, 5, 7, 11, 13, 17, 19,_
|
||||
23, 29, 31, 37, 41, 43, 47, 53}
|
||||
dim as uinteger i
|
||||
|
||||
dim as uinteger ptr b = forward_difference( a() )
|
||||
|
||||
for i = 0 to ubound(a)-1
|
||||
print *(b+i)
|
||||
next i
|
||||
Loading…
Add table
Add a link
Reference in a new issue