Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 10/31/2024
Public
Document Table of Contents

?sdot

Computes a vector-vector dot product with double precision.

Syntax

res = sdsdot(n, sb, sx, incx, sy, incy)

res = dsdot(n, sx, incx, sy, incy)

res = sdot(sx, sy)

res = sdot(sx, sy, sb)

Include Files

  • mkl.fi, mkl_blas.f90

Description

The ?sdot routines compute the inner product of two vectors with double precision. Both routines use double precision accumulation of the intermediate results, but the sdsdot routine outputs the final result in single precision, whereas the dsdot routine outputs the double precision result. The function sdsdot also adds scalar value sb to the inner product.

Input Parameters

n

INTEGER. Specifies the number of elements in the input vectors sx and sy.

sb

REAL. Single precision scalar to be added to inner product (for the function sdsdot only).

sx, sy

REAL.

Arrays, size at least (1+(n -1)*abs(incx)) and (1+(n-1)*abs(incy)), respectively. Contain the input single precision vectors.

incx

INTEGER. Specifies the increment for the elements of sx.

incy

INTEGER. Specifies the increment for the elements of sy.

Output Parameters

res

REAL for sdsdot

DOUBLE PRECISION for dsdot

Contains the result of the dot product of sx and sy (with sb added for sdsdot), if n is positive. Otherwise, res contains sb for sdsdot and 0 for dsdot.

BLAS 95 Interface Notes

Routines in Fortran 95 interface have fewer arguments in the calling sequence than their FORTRAN 77 counterparts. For general conventions applied to skip redundant or reconstructible arguments, see BLAS 95 Interface Conventions.

Specific details for the routine sdot interface are the following:

sx

Holds the vector with the number of elements n.

sy

Holds the vector with the number of elements n.

NOTE:

Note that scalar parameter sb is declared as a required parameter in Fortran 95 interface for the function sdot to distinguish between function flavors that output final result in different precision.