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) | :: | np |
Number of function parameters. |
||
integer(kind=c_int), | intent(in) | :: | nq |
Number of responses per observation. |
||
logical(kind=c_bool), | intent(in) | :: | isodr |
The variable designating whether the solution is by ODR ( |
||
integer(kind=c_int), | intent(out) | :: | lwork |
Length of real |
||
integer(kind=c_int), | intent(out) | :: | liwork |
Length of integer |
pure subroutine workspace_dimensions_c(n, m, np, nq, isodr, lwork, 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) :: np !! Number of function parameters. integer(c_int), intent(in) :: nq !! Number of responses per observation. logical(c_bool), intent(in) :: isodr !! The variable designating whether the solution is by ODR (`isodr = .true.`) !! or by OLS (`isodr = .false.`). integer(c_int), intent(out) :: lwork !! Length of real `work` array. integer(c_int), intent(out) :: liwork !! Length of integer `iwork` array. call workspace_dimensions(n, m, np, nq, logical(isodr, kind=kind(.true.)), & lwork, liwork) end subroutine workspace_dimensions_c