diff Interface

public interface diff

Compute the difference along an array

Example Usage

program arangeTest
use variableKind, only: i32,i64,r32,r64
use m_allocatable, only: allocatable
use m_array1D, only: arange, diff
real(r32), allocatable :: a(:)
integer(i32), allocatable :: b(:)
real(r64), allocatable :: c(:)
integer(i64), allocatable :: d(:)
integer :: N
N = 10000
call allocate(a, N)
call allocate(b, N)
call allocate(c, N)
call allocate(d, N)

call arange(a, 1, N)
call arange(b, 1, N)
call arange(c, 1, N)
call arange(d, 1, N)

call diff(a, 1, N)
call diff(b, 1, N)
call diff(c, 1, N)
call diff(d, 1, N)

call deallocate(a)
call deallocate(b)
call deallocate(c)
call deallocate(d)

end program

Called By

interface~~diff~~CalledByGraph interface~diff diff proc~array1d_test array1D_test proc~array1d_test->interface~diff program~test_coretran test_coretran program~test_coretran->proc~array1d_test
Help


Subroutines

public subroutine diff_r1D(this, res)

Interfaced with diff

Arguments

Type IntentOptional AttributesName
real(kind=r32), intent(in) :: this(:)

1D array

real(kind=r32) :: res(:)

Difference along array

public subroutine diff_d1D(this, res)

Interfaced with diff

Arguments

Type IntentOptional AttributesName
real(kind=r64), intent(in) :: this(:)

1D array

real(kind=r64) :: res(:)

Difference along array

public subroutine diff_i1D(this, res)

Interfaced with diff

Arguments

Type IntentOptional AttributesName
integer(kind=i32), intent(in) :: this(:)

1D array

integer(kind=i32) :: res(:)

Difference along array

public subroutine diff_id1D(this, res)

Interfaced with diff

Arguments

Type IntentOptional AttributesName
integer(kind=i64), intent(in) :: this(:)

1D array

integer(kind=i64) :: res(:)

Difference along array


allocate allocate_test appendString arange argInsertionsort argMedianOf3 argPartition argSelect argSort array1D_test binarySearch checkIsOpen closeFile compact compare compare_d1 copy copy_test countEntries crossproduct cumprod cumsum dArgDynamicArray dArgDynamicArray_test daysInMonth daysInYear dDynamicArray dDynamicArray_test deallocate debug debug_s deleteFile diff eMsg fastTwoDiff fastTwoSum fErr fileExists fileIO_test geometricMean getExtension getFileSize getNFileLines getRandomSeed hasExtension hasNentries iachar1D iArgDynamicArray iArgDynamicArray_test idArgDynamicArray idArgDynamicArray_test idDynamicArray idDynamicArray_test iDynamicArray iDynamicArray_test ind2sub indexing_test insertionsort integerBin intervalSearch isLeapYear isOpen isSorted isString KdTree KdTree_test lowerCase maths_test mean median medianOf3 mErr msg norm1 normI openBinaryFile openFile partition partition3way partition3way_d1D prependString Prng Prng_test ProgressBar project random_test rArgDynamicArray rArgDynamicArray_test rDynamicArray rDynamicArray_test read1Dble read1Integer readline readline reallocate reallocate_test removeComments repeat replacedelim rngExponential rngExponential_d1 rngExponential_d1D rngExponential_d2D rngExponential_d3D rngExponential_unscaled_d1 rngInteger rngInteger_i1 rngInteger_i1D rngInteger_i2D rngInteger_i3D rngNormal rngNormal_d1 rngNormal_d1D rngNormal_d2D rngNormal_d3D rngUniform rngUniform_d1 rngUniform_d1D rngUniform_d2D rngUniform_d3D rngUniform_xorshift rngWeibull rngWeibull_d1 rngWeibull_d1D rngWeibull_d2D rngWeibull_d3D secondsToHMS select select_test setPrng setPrng_withSeed setPrng_WOseed shuffle simpleSearch skipFileLines sort sorting_test std str strings_test sub2ind swap test tester time_test timeInSeconds timeToInteger trimExtension trimmedmean twoDiff twoSum upperCase variance wMsg writeline