# ?sdot

Computes a vector-vector dot product with extended precision.

## Syntax

FORTRAN 77:

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

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

Fortran 95:

res = sdot(sx, sy)

res = sdot(sx, sy, sb)

## Description

The ?sdot functions compute the inner product of two vectors with extended precision. Both functions use extended precision accumulation of the intermediate results, but the function sdsdot outputs the final result in single precision, whereas the function dsdot 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, DIMENSION 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.

## Fortran 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 Fortran 95 Interface Conventions.

Specific details for the routine sdot interface are the following:

sx

  Holds the vector of length(n).

sy

  Holds the vector of length(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.

Parent topic: BLAS Level 1 Routines