time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

dasumsub.f (1333B)


      1 !>
      2 ! @license Apache-2.0
      3 !
      4 ! Copyright (c) 2018 The Stdlib Authors.
      5 !
      6 ! Licensed under the Apache License, Version 2.0 (the "License");
      7 ! you may not use this file except in compliance with the License.
      8 ! You may obtain a copy of the License at
      9 !
     10 !    http://www.apache.org/licenses/LICENSE-2.0
     11 !
     12 ! Unless required by applicable law or agreed to in writing, software
     13 ! distributed under the License is distributed on an "AS IS" BASIS,
     14 ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     15 ! See the License for the specific language governing permissions and
     16 ! limitations under the License.
     17 !<
     18 
     19 !> Wraps `dasum` as a subroutine.
     20 !
     21 ! @param {integer} N - number of values to sum
     22 ! @param {Array<double>} dx - input array
     23 ! @param {integer} stride - stride length
     24 ! @param {double} sum - output variable reference
     25 !<
     26 subroutine dasumsub( N, dx, stride, sum )
     27   implicit none
     28   ! ..
     29   ! External functions:
     30   interface
     31     double precision function dasum( N, dx, stride )
     32       double precision :: dx(*)
     33       integer :: stride, N
     34     end function dasum
     35   end interface
     36   ! ..
     37   ! Scalar arguments:
     38   integer :: stride, N
     39   double precision :: sum
     40   ! ..
     41   ! Array arguments:
     42   double precision :: dx(*)
     43   ! ..
     44   ! Compute the sum of absolute values:
     45   sum = dasum( N, dx, stride )
     46   return
     47 end subroutine dasumsub