# Vector

- FadasError\_e FadasVec\_Init(const char \*licenseKey)

    - Initialize FastADAS Linear Algebra Vector feature. **WARNING:** Must be called once before other FastADAS functions except FadasVersion().

- Parameters:

    - **licenseKey** – Pointer to the license key string.

- Returns:

    - FADAS\_ERROR\_NONE — Success.

- FadasError\_e FadasVec\_DeInit(void)

    - Deinitialize FastADAS Linear Algebra Vector feature. **WARNING:** Must be called once after all other FastADAS functions.

- FadasError\_e FadasVec\_ScaleAplusB(const FadasVectorf32\_t &vA, FadasVectorf32\_t &vB, float32\_t scale)

    - Compute B = C \* A + B, where A and B are 32-bit float vectors.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input vector B
- **scale** – factor by which the vector has to be scaled

- Returns:

    - FADAS\_ERROR\_NONE : SuccessFADAS\_ERROR\_NULL\_PTR : Vector pointer is nullptrFADAS\_ERROR\_BAD\_ARGUMENTS : Vector parameters are incorrectFADAS\_ERROR\_INVALID\_BUF : Vector pointer buffer in not validated

- FadasError\_e FadasVec\_ScaleAplusB(const FadasVectorf64\_t &vA, FadasVectorf64\_t &vB, float64\_t scale)

    - Compute B = C \* A + B, where A and B are 64-bit float vectors.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input vector B
- **scale** – Factor by which the vector has to be scaled

- Returns:

    - FADAS\_ERROR\_NONE : SuccessFADAS\_ERROR\_NULL\_PTR : Vector pointer is nullptrFADAS\_ERROR\_BAD\_ARGUMENTS : Vector parameters are incorrectFADAS\_ERROR\_INVALID\_BUF : Vector pointer buffer in not validated

- FadasError\_e FadasVec\_DotProduct(const FadasVectorf32\_t &vA, const FadasVectorf32\_t &vB, float32\_t &result)

    - Compute Dot product of 32-bit float vector a and vector b.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input vector B
- **result** – Pointer to output dot product

- Returns:

    - FADAS\_ERROR\_NONE : SuccessFADAS\_ERROR\_NULL\_PTR : Vector/output pointer is nullptrFADAS\_ERROR\_BAD\_ARGUMENTS : Vector parameters are incorrectFADAS\_ERROR\_INVALID\_BUF : Vector pointer buffer in not validated

- FadasError\_e FadasVec\_DotProduct(const FadasVectorf64\_t &vA, const FadasVectorf64\_t &vB, float64\_t &result)

    - Compute Dot product of 64-bit float vector a and vector b.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input vector B
- **result** – Pointer to output dot product

- Returns:

    - FADAS\_ERROR\_NONE : Success FADAS\_ERROR\_NULL\_PTR : Vector/Output pointer is nullptrFADAS\_ERROR\_BAD\_ARGUMENTS : Vector parameters are incorrectFADAS\_ERROR\_INVALID\_BUF : Vector pointer buffer in not validated

- FadasError\_e FadasVec\_CrossProduct(const FadasVectorf32\_t &vA, const FadasVectorf32\_t &vB, FadasVectorf32\_t &result)

    - Compute Cross product of 32-bit float vector a and vector b.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input vector B
- **result** – Reference to output dot product

- Returns:

    - FADAS\_ERROR\_NONE : SuccessFADAS\_ERROR\_NULL\_PTR : Vector/output pointer is nullptrFADAS\_ERROR\_BAD\_ARGUMENTS : Vector parameters are incorrectFADAS\_ERROR\_INVALID\_BUF : Vector pointer buffer in not validated

- FadasError\_e FadasVec\_CrossProduct(const FadasVectorf64\_t &vA, const FadasVectorf64\_t &vB, FadasVectorf64\_t &result)

    - Compute Cross product of 64-bit float vector a and vector b.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input vector B
- **result** – Reference to output dot product

- Returns:

    - FADAS\_ERROR\_NONE : SuccessFADAS\_ERROR\_NULL\_PTR : Vector/Output pointer is nullptrFADAS\_ERROR\_BAD\_ARGUMENTS : Vector parameters are incorrectFADAS\_ERROR\_INVALID\_BUF : Vector pointer buffer in not validated

- FadasError\_e FadasVec\_Scale(FadasVectorf32\_t &vec, float32\_t scale)

    - Scale the 32-bit float vector pVec by a factor of scale pVec = pVec \* scale.

- Parameters:

    - - **scale** – factor by which the vector has to be scaled
- **pVec** – Input vector

- Returns:

    - FADAS\_ERROR\_NONE : SuccessFADAS\_ERROR\_NULL\_PTR : Vector pointer is nullptrFADAS\_ERROR\_BAD\_ARGUMENTS : Vector parameters are incorrectFADAS\_ERROR\_INVALID\_BUF : Vector pointer buffer in not validated

- FadasError\_e FadasVec\_Scale(FadasVectorf64\_t &vec, float64\_t scale)

    - Scale the 64-bit float vector pVec by a factor of scale pVec = pVec \* scale.

- Parameters:

    - - **scale** – factor by which the vector has to be scaled
- **pVec** – Input vector

- Returns:

    - FADAS\_ERROR\_NONE : SuccessFADAS\_ERROR\_NULL\_PTR : Vector pointer is nullptrFADAS\_ERROR\_BAD\_ARGUMENTS : Vector parameters are incorrectFADAS\_ERROR\_INVALID\_BUF : Vector pointer buffer in not validated

- FadasError\_e FadasVec\_Add(const FadasVectorf32\_t &vA, const FadasVectorf32\_t &vB, FadasVectorf32\_t &vC)

    - Computes C = A + B, where A, B and C are 32-bit float vectors.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input vector B
- **vC** – Output Vector C

- Returns:

    - FADAS\_ERROR\_NONE : Success.

- FadasError\_e FadasVec\_Add(const FadasVectorf64\_t &vA, const FadasVectorf64\_t &vB, FadasVectorf64\_t &vC)

    - Computes C = A + B, where A, B and C are 64-bit float vectors.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input vector B
- **vC** – Output vector C

- Returns:

    - FADAS\_ERROR\_NONE : Success.

- FadasError\_e FadasVec\_Add(const FadasVectorf32\_t &vA, FadasVectorf32\_t &vB)

    - Computes B = A + B, where A and B are 32-bit float vectors.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input/output vector B

- Returns:

    - FADAS\_ERROR\_NONE : Success.

- FadasError\_e FadasVec\_Add(const FadasVectorf64\_t &vA, FadasVectorf64\_t &vB)

    - Computes B = A + B, where A and B are 64-bit float vectors.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input/output vector B

- Returns:

    - FADAS\_ERROR\_NONE : Success.

- FadasError\_e FadasVec\_Subtract(const FadasVectorf32\_t &vA, const FadasVectorf32\_t &vB, FadasVectorf32\_t &vC)

    - Computes C = A - B, where A, B and C are 32-bit float vectors.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input vector B
- **vC** – Output vector C

- Returns:

    - FADAS\_ERROR\_NONE : Success.

- FadasError\_e FadasVec\_Subtract(const FadasVectorf64\_t &vA, const FadasVectorf64\_t &vB, FadasVectorf64\_t &vC)

    - Computes C = A - B, where A, B and C are 64-bit float vectors.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input vector B
- **vC** – Output vector C

- Returns:

    - FADAS\_ERROR\_NONE : Success.

- FadasError\_e FadasVec\_Subtract(const FadasVectorf32\_t &vA, FadasVectorf32\_t &vB)

    - Computes B = A - B, where A and B are 32-bit float vectors.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input/output Vector B

- Returns:

    - FADAS\_ERROR\_NONE : Success.

- FadasError\_e FadasVec\_Subtract(const FadasVectorf64\_t &vA, FadasVectorf64\_t &vB)

    - Computes B = A - B, where A and B are 64-bit float vectors.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input/output vector B

- Returns:

    - FADAS\_ERROR\_NONE : Success.

- FadasError\_e FadasVec\_HadamardProduct(const FadasVectorf32\_t &vA, const FadasVectorf32\_t &vB, FadasVectorf32\_t &vC)

    - Computes C = A .\* B, where A, B and C are 32-bit float vectors.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input vector B
- **vC** – Output vector C

- Returns:

    - FADAS\_ERROR\_NONE : Success.

- FadasError\_e FadasVec\_HadamardProduct(const FadasVectorf64\_t &vA, const FadasVectorf64\_t &vB, FadasVectorf64\_t &vC)

    - Computes C = A .\* B, where A, B and C are 64-bit float vectors.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input vector B
- **vC** – Output vector C

- Returns:

    - FADAS\_ERROR\_NONE : Success.

- FadasError\_e FadasVec\_HadamardProduct(const FadasVectorf32\_t &vA, FadasVectorf32\_t &vB)

    - Computes B = A .\* B, where A and B are 32-bit float vectors.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input/output vector B

- Returns:

    - FADAS\_ERROR\_NONE : Success.

- FadasError\_e FadasVec\_HadamardProduct(const FadasVectorf64\_t &vA, FadasVectorf64\_t &vB)

    - Computes B = A .\* B, where A and B are 64-bit float vectors.

- Parameters:

    - - **vA** – Input vector A
- **vB** – Input/output vector B

- Returns:

    - FADAS\_ERROR\_NONE : Success.

- FadasError\_e FadasVec\_L2Norm(const FadasVectorf32\_t &vA, float32\_t &norm)

    - Computes \(|x| = \sqrt{x\_1^2 + x\_2^2 + x\_3^2 + ... + x\_n^2}\), where 32-bit float vector \(x=(x\_1, x\_2, x\_3, ..., x\_n)\).

- Parameters:

    - - **vA** – Input vector A
- **norm** – Pointer to output norm

- Returns:

    - FADAS\_ERROR\_NONE : Success.

- FadasError\_e FadasVec\_L2Norm(const FadasVectorf64\_t &vA, float64\_t &norm)

    - Computes \(|x| = \sqrt{x\_1^2 + x\_2^2 + x\_3^2 + ... + x\_n^2}\), where 64-bit float vector \(x=(x\_1, x\_2, x\_3, ..., x\_n)\).

- Parameters:

    - - **vA** – Input vector A
- **norm** – Pointer to output norm

- Returns:

    - FADAS\_ERROR\_NONE : Success.

## Related examples

- one/one.cpp

Last Published: Sep 30, 2024

Previous Topic
 
Transform Next Topic

Voxel Map