Calculate the dimensions of the workspace arrays.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=c_int), | intent(in) | :: | n |
Number of observations. |
||
integer(kind=c_int), | intent(in) | :: | m |
Number of columns of data in the independent variable. |
||
integer(kind=c_int), | intent(in) | :: | q |
Number of responses per observation. |
||
integer(kind=c_int), | intent(in) | :: | np |
Number of function parameters. |
||
logical(kind=c_bool), | intent(in) | :: | isodr |
Variable designating whether the solution is by ODR ( |
||
integer(kind=c_int), | intent(out) | :: | lrwork |
Length of real |
||
integer(kind=c_int), | intent(out) | :: | liwork |
Length of integer |
pure subroutine workspace_dimensions_c(n, m, q, np, isodr, lrwork, liwork) bind(C) !! Calculate the dimensions of the workspace arrays. integer(c_int), intent(in) :: n !! Number of observations. integer(c_int), intent(in) :: m !! Number of columns of data in the independent variable. integer(c_int), intent(in) :: q !! Number of responses per observation. integer(c_int), intent(in) :: np !! Number of function parameters. logical(c_bool), intent(in) :: isodr !! Variable designating whether the solution is by ODR (`.true.`) or by OLS (`.false.`). integer(c_int), intent(out) :: lrwork !! Length of real `rwork` array. integer(c_int), intent(out) :: liwork !! Length of integer `iwork` array. call workspace_dimensions(n, m, q, np, logical(isodr, kind=kind(.true.)), & lrwork, liwork) end subroutine workspace_dimensions_c