!-*-f90-*- ! ! API: Moving Window Statistics ! function gsl_movstat_alloc(k) bind(c) import :: c_ptr, c_size_t integer(c_size_t), value :: k type(c_ptr) :: gsl_movstat_alloc end function gsl_movstat_alloc function gsl_movstat_alloc2(k,j) bind(c) import :: c_ptr, c_size_t integer(c_size_t), value :: k, j type(c_ptr) :: gsl_movstat_alloc2 end function gsl_movstat_alloc2 subroutine gsl_movstat_free(w) bind(c) import :: c_ptr type(c_ptr), value :: w end subroutine gsl_movstat_free function gsl_movstat_mean(endtype, x, y, w) bind(c) import :: c_ptr, c_int integer(c_int), value :: endtype type(c_ptr), value :: x, y, w integer(c_int) :: gsl_movstat_mean end function gsl_movstat_mean function gsl_movstat_variance(endtype, x, y, w) bind(c) import :: c_ptr, c_int integer(c_int), value :: endtype type(c_ptr), value :: x, y, w integer(c_int) :: gsl_movstat_variance end function gsl_movstat_variance function gsl_movstat_sd(endtype, x, y, w) bind(c) import :: c_ptr, c_int integer(c_int), value :: endtype type(c_ptr), value :: x, y, w integer(c_int) :: gsl_movstat_sd end function gsl_movstat_sd function gsl_movstat_min(endtype, x, y, w) bind(c) import :: c_ptr, c_int integer(c_int), value :: endtype type(c_ptr), value :: x, y, w integer(c_int) :: gsl_movstat_min end function gsl_movstat_min function gsl_movstat_max(endtype, x, y, w) bind(c) import :: c_ptr, c_int integer(c_int), value :: endtype type(c_ptr), value :: x, y, w integer(c_int) :: gsl_movstat_max end function gsl_movstat_max function gsl_movstat_minmax(endtype, x, y_min, y_max, w) bind(c) import :: c_ptr, c_int integer(c_int), value :: endtype type(c_ptr), value :: x, y_min, y_max, w integer(c_int) :: gsl_movstat_minmax end function gsl_movstat_minmax function gsl_movstat_sum(endtype, x, y, w) bind(c) import :: c_ptr, c_int integer(c_int), value :: endtype type(c_ptr), value :: x, y, w integer(c_int) :: gsl_movstat_sum end function gsl_movstat_sum function gsl_movstat_median(endtype, x, y, w) bind(c) import :: c_ptr, c_int integer(c_int), value :: endtype type(c_ptr), value :: x, y, w integer(c_int) :: gsl_movstat_median end function gsl_movstat_median function gsl_movstat_mad0(endtype, x, xmedian, xmad, w) bind(c) import :: c_ptr, c_int integer(c_int), value :: endtype type(c_ptr), value :: x, xmedian, xmad, w integer(c_int) :: gsl_movstat_mad0 end function gsl_movstat_mad0 function gsl_movstat_mad(endtype, x, xmedian, xmad, w) bind(c) import :: c_ptr, c_int integer(c_int), value :: endtype type(c_ptr), value :: x, xmedian, xmad, w integer(c_int) :: gsl_movstat_mad end function gsl_movstat_mad function gsl_movstat_qqr(endtype, x, q, xqqr, w) bind(c) import :: c_ptr, c_int, c_double integer(c_int), value :: endtype type(c_ptr), value :: x, xqqr, w real(c_double), value :: q integer(c_int) :: gsl_movstat_qqr end function gsl_movstat_qqr function gsl_movstat_sn(endtype, x, xscale, w) bind(c, name='gsl_movstat_Sn') import :: c_ptr, c_int integer(c_int), value :: endtype type(c_ptr), value :: x, xscale, w integer(c_int) :: gsl_movstat_sn end function gsl_movstat_sn function gsl_movstat_qn(endtype, x, xscale, w) bind(c, name='gsl_movstat_Qn') import :: c_ptr, c_int integer(c_int), value :: endtype type(c_ptr), value :: x, xscale, w integer(c_int) :: gsl_movstat_qn end function gsl_movstat_qn function gsl_movstat_apply(endtype, f, x, y, w) bind(c) import :: c_ptr, c_int, fgsl_movstat_function integer(c_int), value :: endtype type(fgsl_movstat_function) :: f type(c_ptr), value :: x, y, w integer(c_int) :: gsl_movstat_apply end function gsl_movstat_apply function gsl_movstat_fill(endtype, x, idx, h, j, window) bind(c) import :: c_ptr, c_int, c_size_t, c_double integer(c_int), value :: endtype type(c_ptr), value :: x integer(c_size_t), value :: idx, h, j real(c_double) :: window integer(c_int) :: gsl_movstat_fill end function gsl_movstat_fill