Math routines
Compute the cross product between two arrays of length 2 or 3
Interfaced with crossproduct()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | a(3) | 1D Array |
||
real(kind=r32), | intent(in) | :: | b(3) | 1D Array |
cross product
Interfaced with crossproduct()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | a(3) | 1D Array |
||
real(kind=r64), | intent(in) | :: | b(3) | 1D Array |
cross product
Compute the variance of an array
Interfaced with cumprod()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | this(:) | 1D array |
Cumulative product
Interfaced with cumprod()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | this(:) | 1D array |
Cumulative product
Interfaced with cumprod()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i32), | intent(in) | :: | this(:) | 1D array |
Cumulative product
Interfaced with cumprod()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i64), | intent(in) | :: | this(:) | 1D array |
Cumulative product
Compute the variance of an array
Interfaced with cumsum()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | this(:) | 1D array |
Cumulative sum
Interfaced with cumsum()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | this(:) | 1D array |
Cumulative sum
Interfaced with cumsum()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i32), | intent(in) | :: | this(:) | 1D array |
Cumulative sum
Interfaced with cumsum()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i64), | intent(in) | :: | this(:) | 1D array |
Cumulative sum
Compute the difference two numbers and compute the numerical round-off error. See Shewchuk 1997 Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates This should only be used if you know that the magnitude of a is greater than or equal to b, otherwise, you should use the slower twoDiff routine
Interfaced with fastTwoDiff()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | a | First number |
||
real(kind=r32), | intent(in) | :: | b | Second number |
Result and its error
Interfaced with fastTwoDiff()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | a | First number |
||
real(kind=r64), | intent(in) | :: | b | Second number |
Result and its error
Compute the sum of two numbers and compute the numerical round-off error. See Shewchuk 1997 Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates This should only be used if you know that the magnitude of a is greater than or equal to b, otherwise, you should use the slower twoSum routine
Interfaced with fastTwoSum()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | a | First number |
||
real(kind=r32), | intent(in) | :: | b | Second number |
Result and its error
Interfaced with fastTwoSum()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | a | First number |
||
real(kind=r64), | intent(in) | :: | b | Second number |
Result and its error
Compute the geometric mean of a vector
Interfaced with geometricMean()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | this(:) |
Interfaced with geometricMean()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | this(:) |
Interfaced with geometricMean()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i32), | intent(in) | :: | this(:) |
Interfaced with geometricMean()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i64), | intent(in) | :: | this(:) |
Compute the mean
Interfaced with mean()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | this(:) | 1D array |
mean
Interfaced with mean()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | this(:) | 1D array |
mean
Interfaced with mean()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i32), | intent(in) | :: | this(:) | 1D array |
mean
Interfaced with mean()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i64), | intent(in) | :: | this(:) | 1D array |
mean
Compute the median of a set of numbers
Interfaced with median()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | this(:) | 1D array |
median
Interfaced with median()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | this(:) | 1D array |
median
Interfaced with median()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i32), | intent(in) | :: | this(:) | 1D array |
median
Interfaced with median()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i64), | intent(in) | :: | this(:) | 1D array |
median
Compute the L1 norm of a set of numbers
Interfaced with norm1()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | this(:) | 1D array |
L1 norm
Interfaced with norm1()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | this(:) | 1D array |
L1 norm
Interfaced with norm1()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i32), | intent(in) | :: | this(:) | 1D array |
L1 norm
Interfaced with norm1()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i64), | intent(in) | :: | this(:) | 1D array |
L1 norm
Compute the Linfinity norm of a set of numbers
Interfaced with normI()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | this(:) | 1D array |
Linfinity norm
Interfaced with normI()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | this(:) | 1D array |
Linfinity norm
Interfaced with normI()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i32), | intent(in) | :: | this(:) | 1D array |
Linfinity norm
Interfaced with normI()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i64), | intent(in) | :: | this(:) | 1D array |
Linfinity norm
Project a vector a onto vector b
Interfaced with project()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | a(:) | 1D array |
||
real(kind=r32), | intent(in) | :: | b(size(a)) | 1D array |
1D array
Interfaced with project()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | a(:) | 1D array |
||
real(kind=r64), | intent(in) | :: | b(size(a)) | 1D array |
1D array
Compute the Trimmed mean of an array, alpha is a percent value to trim from either end
Interfaced with trimmedmean()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | this(:) | 1D array |
||
real(kind=r32), | intent(in) | :: | alpha | Percentage to trim off each end |
trimmedmean
Interfaced with trimmedmean()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | this(:) | 1D array |
||
real(kind=r64), | intent(in) | :: | alpha | Percentage to trim off each end |
trimmedmean
Interfaced with trimmedmean()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i32), | intent(in) | :: | this(:) | 1D array |
||
real(kind=r64), | intent(in) | :: | alpha | Percentage to trim off each end |
trimmedmean
Interfaced with trimmedmean()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i64), | intent(in) | :: | this(:) | 1D array |
||
real(kind=r64), | intent(in) | :: | alpha | Percentage to trim off each end |
trimmedmean
Compute the difference between two numbers and compute the numerical round-off error. See Shewchuk 1997 Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates If you know that the magnitude of a is greater than or equal to b, use fastTwoDiff
Interfaced with twoDiff()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | a | First number |
||
real(kind=r32), | intent(in) | :: | b | Second number |
Result and its error
Interfaced with twoDiff()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | a | First number |
||
real(kind=r64), | intent(in) | :: | b | Second number |
Result and its error
Compute the sum of two numbers and compute the numerical round-off error. See Shewchuk 1997 Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates If you know that the magnitude of a is greater than or equal to b, use fastTwoSum
Interfaced with twoSum()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | a | First number in sum |
||
real(kind=r32), | intent(in) | :: | b | Second number in sum |
The sum and its error
Interfaced with twoSum()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | a | First number in sum |
||
real(kind=r64), | intent(in) | :: | b | Second number in sum |
The sum and its error
Compute the standard deviation of an array
Interfaced with std()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | this(:) | 1D array |
standard deviation
Interfaced with std()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | this(:) | 1D array |
standard deviation
Interfaced with std()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i32), | intent(in) | :: | this(:) | 1D array |
standard deviation
Interfaced with std()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i64), | intent(in) | :: | this(:) | 1D array |
standard deviation
Compute the variance of an array
Interfaced with variance()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r32), | intent(in) | :: | this(:) | 1D array |
variance
Interfaced with variance()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | this(:) | 1D array |
variance
Interfaced with variance()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i32), | intent(in) | :: | this(:) | 1D array |
variance
Interfaced with variance()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=i64), | intent(in) | :: | this(:) | 1D array |
variance