workspace_dimensions_c Subroutine

public pure subroutine workspace_dimensions_c(n, m, q, np, isodr, lrwork, liwork) bind(C)

Calculate the dimensions of the workspace arrays.

Arguments

Type IntentOptional 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 (.true.) or by OLS (.false.).

integer(kind=c_int), intent(out) :: lrwork

Length of real rwork array.

integer(kind=c_int), intent(out) :: liwork

Length of integer iwork array.


Calls

proc~~workspace_dimensions_c~~CallsGraph proc~workspace_dimensions_c workspace_dimensions_c proc~workspace_dimensions workspace_dimensions proc~workspace_dimensions_c->proc~workspace_dimensions

Source Code

   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