---
name: "sc_SCElementScalarProduct"
section: "3"
platform: "linux"
package: "libsc-doc"
version: "2.3.1-22"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/sc_SCElementScalarProduct"
---

# sc\_SCElementScalarProduct(3)

## NAME

sc::SCElementScalarProduct

## SYNOPSIS

Inherits **sc::SCElementOp2**.

### Public Member Functions

**SCElementScalarProduct** (**StateIn** &)\
 void **save\_data\_state** (**StateOut** &)\
 Save the base classes (with save\_data\_state) and the members in the same order that the **StateIn** CTOR initializes them.  void **process** (**SCMatrixBlockIter** &, **SCMatrixBlockIter** &)\
 int **has\_collect** ()\
 void **defer\_collect** (int)\
 void **collect** (const **Ref**\< **MessageGrp** \> &)\
 double **result** ()\
 void **init** ()\

### Additional Inherited Members

## Member Function Documentation

### void sc::SCElementScalarProduct::collect (const Ref\< MessageGrp \> &)` [virtual]`

Reimplemented from **sc::SCElementOp2**.

### void sc::SCElementScalarProduct::defer\_collect (int)` [virtual]`

Reimplemented from **sc::SCElementOp2**.

### int sc::SCElementScalarProduct::has\_collect ()` [virtual]`

Reimplemented from **sc::SCElementOp2**.

### void sc::SCElementScalarProduct::process (SCMatrixBlockIter &, SCMatrixBlockIter &)` [virtual]`

Implements **sc::SCElementOp2**.

### void sc::SCElementScalarProduct::save\_data\_state (StateOut &)` [virtual]`

Save the base classes (with save\_data\_state) and the members in the same order that the **StateIn** CTOR initializes them. This must be implemented by the derived class if the class has data.

Reimplemented from **sc::SavableState**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
