Loading...
Searching...
No Matches
Vector Multiply-Accumulator
Math Functions

## Functions

ne10_result_t | ne10_mlac_float_c (ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
ne10_result_t | ne10_mlac_float_neon (ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
ne10_result_t | ne10_mlac_float_asm (ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
ne10_result_t | ne10_mlac_vec2f_c (ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
ne10_result_t | ne10_mlac_vec2f_neon (ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
ne10_result_t | ne10_mlac_vec2f_asm (ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
ne10_result_t | ne10_mlac_vec3f_c (ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
ne10_result_t | ne10_mlac_vec3f_neon (ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
ne10_result_t | ne10_mlac_vec3f_asm (ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
ne10_result_t | ne10_mlac_vec4f_c (ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
ne10_result_t | ne10_mlac_vec4f_neon (ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
ne10_result_t | ne10_mlac_vec4f_asm (ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
ne10_result_t | ne10_mla_float_c (ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
ne10_result_t | ne10_mla_float_neon (ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count) asm("ne10_mla_float_neon")
ne10_result_t | ne10_mla_float_asm (ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
ne10_result_t | ne10_vmla_vec2f_c (ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
ne10_result_t | ne10_vmla_vec2f_neon (ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count) asm("ne10_vmla_vec2f_neon")
ne10_result_t | ne10_vmla_vec2f_asm (ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
ne10_result_t | ne10_vmla_vec3f_c (ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
ne10_result_t | ne10_vmla_vec3f_neon (ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count) asm("ne10_vmla_vec3f_neon")
ne10_result_t | ne10_vmla_vec3f_asm (ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
ne10_result_t | ne10_vmla_vec4f_c (ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
ne10_result_t | ne10_vmla_vec4f_neon (ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count) asm("ne10_vmla_vec4f_neon")
ne10_result_t | ne10_vmla_vec4f_asm (ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)

## Variables

ne10_result_t(* | ne10_mlac_float )(ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
| Multiplies each entry in the source array (src) by cst, then adds the result to the corresponding item of the accumulation array (acc), and stores the result in the destination array.
ne10_result_t(* | ne10_mlac_vec2f )(ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
| Multiplies each entry in the source array (src) by the 2D vector cst, then adds the result to the corresponding item of the accumulation array (acc), and stores the result in the destination array.
ne10_result_t(* | ne10_mlac_vec3f )(ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
| Multiplies each entry in the source array (src) by the 3D vector cst, then adds the result to the corresponding item of the accumulation array (acc), and stores the result in the destination array.
ne10_result_t(* | ne10_mlac_vec4f )(ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
| Multiplies each entry in the source array (src) by the 4D vector cst, then adds the result to the corresponding item of the accumulation array (acc), and stores the result in the destination array.
ne10_result_t(* | ne10_mla_float )(ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
| Performs a multiply and accumulate operation using the corresponding elements in acc, src1, and src2.
ne10_result_t(* | ne10_vmla_vec2f )(ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
| Performs a multiply and accumulate operation on the components of a 2D vector with the corresponding components of another.
ne10_result_t(* | ne10_vmla_vec3f )(ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
| Performs a multiply and accumulate operation on the components of a 3D vector with the corresponding components of another.
ne10_result_t(* | ne10_vmla_vec4f )(ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
| Performs a multiply and accumulate operation on the components of a 4D vector with the corresponding components of another.

## Detailed Description

  These functions implement the vector multiply-accumulator operation for float data type.

## Function Documentation

## ne10_mla_float_c()

ne10_result_t ne10_mla_float_c | ( | ne10_float32_t * | dst,
|  | ne10_float32_t * | acc,
|  | ne10_float32_t * | src1,
|  | ne10_float32_t * | src2,
|  | ne10_uint32_t | count
| ) |  |

extern

Definition at line 37 of file NE10_mla.c.

## ne10_mlac_float_c()

ne10_result_t ne10_mlac_float_c | ( | ne10_float32_t * | dst,
|  | ne10_float32_t * | acc,
|  | ne10_float32_t * | src,
|  | const ne10_float32_t | cst,
|  | ne10_uint32_t | count
| ) |  |

extern

Definition at line 37 of file NE10_mlac.c.

## ne10_mlac_float_neon()

ne10_result_t ne10_mlac_float_neon | ( | ne10_float32_t * | dst,
|  | ne10_float32_t * | acc,
|  | ne10_float32_t * | src,
|  | const ne10_float32_t | cst,
|  | ne10_uint32_t | count
| ) |  |

extern

Definition at line 39 of file NE10_mlac.neon.c.

## ne10_mlac_vec2f_c()

ne10_result_t ne10_mlac_vec2f_c | ( | ne10_vec2f_t * | dst,
|  | ne10_vec2f_t * | acc,
|  | ne10_vec2f_t * | src,
|  | const ne10_vec2f_t * | cst,
|  | ne10_uint32_t | count
| ) |  |

extern

Definition at line 45 of file NE10_mlac.c.

## ne10_mlac_vec2f_neon()

ne10_result_t ne10_mlac_vec2f_neon | ( | ne10_vec2f_t * | dst,
|  | ne10_vec2f_t * | acc,
|  | ne10_vec2f_t * | src,
|  | const ne10_vec2f_t * | cst,
|  | ne10_uint32_t | count
| ) |  |

extern

Definition at line 49 of file NE10_mlac.neon.c.

## ne10_mlac_vec3f_c()

ne10_result_t ne10_mlac_vec3f_c | ( | ne10_vec3f_t * | dst,
|  | ne10_vec3f_t * | acc,
|  | ne10_vec3f_t * | src,
|  | const ne10_vec3f_t * | cst,
|  | ne10_uint32_t | count
| ) |  |

extern

Definition at line 54 of file NE10_mlac.c.

## ne10_mlac_vec3f_neon()

ne10_result_t ne10_mlac_vec3f_neon | ( | ne10_vec3f_t * | dst,
|  | ne10_vec3f_t * | acc,
|  | ne10_vec3f_t * | src,
|  | const ne10_vec3f_t * | cst,
|  | ne10_uint32_t | count
| ) |  |

extern

Definition at line 59 of file NE10_mlac.neon.c.

## ne10_mlac_vec4f_c()

ne10_result_t ne10_mlac_vec4f_c | ( | ne10_vec4f_t * | dst,
|  | ne10_vec4f_t * | acc,
|  | ne10_vec4f_t * | src,
|  | const ne10_vec4f_t * | cst,
|  | ne10_uint32_t | count
| ) |  |

extern

Definition at line 64 of file NE10_mlac.c.

## ne10_mlac_vec4f_neon()

ne10_result_t ne10_mlac_vec4f_neon | ( | ne10_vec4f_t * | dst,
|  | ne10_vec4f_t * | acc,
|  | ne10_vec4f_t * | src,
|  | const ne10_vec4f_t * | cst,
|  | ne10_uint32_t | count
| ) |  |

extern

Definition at line 73 of file NE10_mlac.neon.c.

## ne10_vmla_vec2f_c()

ne10_result_t ne10_vmla_vec2f_c | ( | ne10_vec2f_t * | dst,
|  | ne10_vec2f_t * | acc,
|  | ne10_vec2f_t * | src1,
|  | ne10_vec2f_t * | src2,
|  | ne10_uint32_t | count
| ) |  |

extern

Definition at line 45 of file NE10_mla.c.

## ne10_vmla_vec3f_c()

ne10_result_t ne10_vmla_vec3f_c | ( | ne10_vec3f_t * | dst,
|  | ne10_vec3f_t * | acc,
|  | ne10_vec3f_t * | src1,
|  | ne10_vec3f_t * | src2,
|  | ne10_uint32_t | count
| ) |  |

extern

Definition at line 54 of file NE10_mla.c.

## ne10_vmla_vec4f_c()

ne10_result_t ne10_vmla_vec4f_c | ( | ne10_vec4f_t * | dst,
|  | ne10_vec4f_t * | acc,
|  | ne10_vec4f_t * | src1,
|  | ne10_vec4f_t * | src2,
|  | ne10_uint32_t | count
| ) |  |

extern

Definition at line 64 of file NE10_mla.c.

## Variable Documentation

## ne10_mla_float

ne10_result_t(* ne10_mla_float) (ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count) | ( | ne10_float32_t * | dst,
|  | ne10_float32_t * | acc,
|  | ne10_float32_t * | src1,
|  | ne10_float32_t * | src2,
|  | ne10_uint32_t | count
| ) |  |

extern

Performs a multiply and accumulate operation using the corresponding elements in acc, src1, and src2.

This function point could be pointed to one of ne10_mla_float_c, ne10_mla_float_neon and ne10_mla_float_asm.

Parameters

  [out] | dst | Pointer to the destination array
  [in] | acc | These elemtns are added to the result of the multiplication operation
  [in] | src1 | The first array to use as the input array
  [in] | src2 | The second array to use as the input array
  [in] | count | The number of items in the two input arrays

Definition at line 252 of file NE10_init_math.c.

## ne10_mlac_float

ne10_result_t(* ne10_mlac_float) (ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count) | ( | ne10_float32_t * | dst,
|  | ne10_float32_t * | acc,
|  | ne10_float32_t * | src,
|  | const ne10_float32_t | cst,
|  | ne10_uint32_t | count
| ) |  |

extern

Multiplies each entry in the source array (src) by cst, then adds the result to the corresponding item of the accumulation array (acc), and stores the result in the destination array.

This function point could be pointed to one of ne10_mlac_float_c, ne10_mlac_float_neon and ne10_mlac_float_asm.

Parameters

  [out] | dst | Pointer to the destination array
  [in] | acc | The corresponding elemetn is added to the result of the multiplication
  [in] | src | Pointer to the source array
  [in] | cst | The constant scalar to multiply the input elements with
  [in] | count | The number of items in the input array

Definition at line 244 of file NE10_init_math.c.

## ne10_mlac_vec2f

ne10_result_t(* ne10_mlac_vec2f) (ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count) | ( | ne10_vec2f_t * | dst,
|  | ne10_vec2f_t * | acc,
|  | ne10_vec2f_t * | src,
|  | const ne10_vec2f_t * | cst,
|  | ne10_uint32_t | count
| ) |  |

extern

Multiplies each entry in the source array (src) by the 2D vector cst, then adds the result to the corresponding item of the accumulation array (acc), and stores the result in the destination array.

This function point could be pointed to one of ne10_mlac_vec2f_c, ne10_mlac_vec2f_neon and ne10_mlac_vec2f_asm.

Parameters

  [out] | dst | Pointer to the destination array
  [in] | acc | The corresponding elemetn is added to the result of the multiplication
  [in] | src | Pointer to the source array
  [in] | cst | Pointer to the 2D vector to multiply the input vectors with
  [in] | count | The number of items in the input array

Definition at line 245 of file NE10_init_math.c.

## ne10_mlac_vec3f

ne10_result_t(* ne10_mlac_vec3f) (ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count) | ( | ne10_vec3f_t * | dst,
|  | ne10_vec3f_t * | acc,
|  | ne10_vec3f_t * | src,
|  | const ne10_vec3f_t * | cst,
|  | ne10_uint32_t | count
| ) |  |

extern

Multiplies each entry in the source array (src) by the 3D vector cst, then adds the result to the corresponding item of the accumulation array (acc), and stores the result in the destination array.

This function point could be pointed to one of ne10_mlac_vec3f_c, ne10_mlac_vec3f_neon and ne10_mlac_vec3f_asm.

Parameters

  [out] | dst | Pointer to the destination array
  [in] | acc | The corresponding elemetn is added to the result of the multiplication
  [in] | src | Pointer to the source array
  [in] | cst | Pointer to the 3D vector to multiply the input vectors with
  [in] | count | The number of items in the input array

Definition at line 246 of file NE10_init_math.c.

## ne10_mlac_vec4f

ne10_result_t(* ne10_mlac_vec4f) (ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count) | ( | ne10_vec4f_t * | dst,
|  | ne10_vec4f_t * | acc,
|  | ne10_vec4f_t * | src,
|  | const ne10_vec4f_t * | cst,
|  | ne10_uint32_t | count
| ) |  |

extern

Multiplies each entry in the source array (src) by the 4D vector cst, then adds the result to the corresponding item of the accumulation array (acc), and stores the result in the destination array.

This function point could be pointed to one of ne10_mlac_vec4f_c, ne10_mlac_vec4f_neon and ne10_mlac_vec4f_asm.

Parameters

  [out] | dst | Pointer to the destination array
  [in] | acc | The corresponding elemetn is added to the result of the multiplication
  [in] | src | Pointer to the source array
  [in] | cst | Pointer to the 4D vector to multiply the input vectors with
  [in] | count | The number of items in the input array

Definition at line 247 of file NE10_init_math.c.

## ne10_vmla_vec2f

ne10_result_t(* ne10_vmla_vec2f) (ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count) | ( | ne10_vec2f_t * | dst,
|  | ne10_vec2f_t * | acc,
|  | ne10_vec2f_t * | src1,
|  | ne10_vec2f_t * | src2,
|  | ne10_uint32_t | count
| ) |  |

extern

Performs a multiply and accumulate operation on the components of a 2D vector with the corresponding components of another.

This function point could be pointed to one of ne10_vmla_vec2f_c, ne10_vmla_vec2f_neon and ne10_vmla_vec2f_asm.

Parameters

  [out] | dst | Pointer to the destination array
  [in] | src1 | Pointer to the first source array
  [in] | src2 | Pointer to the second source array
  [in] | count | The number of items in the input arrays

Definition at line 270 of file NE10_init_math.c.

## ne10_vmla_vec3f

ne10_result_t(* ne10_vmla_vec3f) (ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count) | ( | ne10_vec3f_t * | dst,
|  | ne10_vec3f_t * | acc,
|  | ne10_vec3f_t * | src1,
|  | ne10_vec3f_t * | src2,
|  | ne10_uint32_t | count
| ) |  |

extern

Performs a multiply and accumulate operation on the components of a 3D vector with the corresponding components of another.

This function point could be pointed to one of ne10_vmla_vec3f_c, ne10_vmla_vec3f_neon and ne10_vmla_vec3f_asm.

Parameters

  [out] | dst | Pointer to the destination array
  [in] | src1 | Pointer to the first source array
  [in] | src2 | Pointer to the second source array
  [in] | count | The number of items in the input arrays

Definition at line 271 of file NE10_init_math.c.

## ne10_vmla_vec4f

ne10_result_t(* ne10_vmla_vec4f) (ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count) | ( | ne10_vec4f_t * | dst,
|  | ne10_vec4f_t * | acc,
|  | ne10_vec4f_t * | src1,
|  | ne10_vec4f_t * | src2,
|  | ne10_uint32_t | count
| ) |  |

extern

Performs a multiply and accumulate operation on the components of a 4D vector with the corresponding components of another.

This function point could be pointed to one of ne10_vmla_vec4f_c, ne10_vmla_vec4f_neon and ne10_vmla_vec4f_asm.

Parameters

  [out] | dst | Pointer to the destination array
  [in] | src1 | Pointer to the first source array
  [in] | src2 | Pointer to the second source array
  [in] | count | The number of items in the input arrays

Definition at line 272 of file NE10_init_math.c.