## Simple Math

Simple Math — Function Classes for Simple Arithmetic Operations

##

# Synopsis

    void        oil_abs_f32_f32                 (float *dest,
                                                 int dstr,
                                                 const float *src,
                                                 int sstr,
                                                 int n);
    void        oil_abs_f64_f64                 (double *dest,
                                                 int dstr,
                                                 const double *src,
                                                 int sstr,
                                                 int n);
    void        oil_abs_u16_s16                 (uint16_t *dest,
                                                 int dstr,
                                                 const int16_t *src,
                                                 int sstr,
                                                 int n);
    void        oil_abs_u32_s32                 (uint32_t *dest,
                                                 int dstr,
                                                 const int32_t *src,
                                                 int sstr,
                                                 int n);
    void        oil_abs_u8_s8                   (uint8_t *dest,
                                                 int dstr,
                                                 const int8_t *src,
                                                 int sstr,
                                                 int n);
    void        oil_average2_u8                 (uint8_t *dest,
                                                 int dstr,
                                                 const uint8_t *src1,
                                                 int sstr1,
                                                 const uint8_t *src2,
                                                 int sstr2,
                                                 int n);
    void        oil_multsum_f32                 (float *dest,
                                                 const float *src1,
                                                 int sstr1,
                                                 const float *src2,
                                                 int sstr2,
                                                 int n);
    void        oil_multsum_f64                 (double *dest,
                                                 const double *src1,
                                                 int sstr1,
                                                 const double *src2,
                                                 int sstr2,
                                                 int n);
    void        oil_scalaradd_f32               (float *dest,
                                                 int dstr,
                                                 const float *src,
                                                 int sstr,
                                                 const float *s2_1,
                                                 int n);
    void        oil_scalaradd_f64               (double *dest,
                                                 int dstr,
                                                 const double *src,
                                                 int sstr,
                                                 const double *s2_1,
                                                 int n);
    void        oil_scalaradd_s16               (int16_t *dest,
                                                 int dstr,
                                                 const int16_t *src,
                                                 int sstr,
                                                 const int16_t *s2_1,
                                                 int n);
    void        oil_scalaradd_s32               (int32_t *dest,
                                                 int dstr,
                                                 const int32_t *src,
                                                 int sstr,
                                                 const int32_t *s2_1,
                                                 int n);
    void        oil_scalaradd_s8                (int8_t *dest,
                                                 int dstr,
                                                 const int8_t *src,
                                                 int sstr,
                                                 const int8_t *s2_1,
                                                 int n);
    void        oil_scalaradd_u16               (uint16_t *dest,
                                                 int dstr,
                                                 const uint16_t *src,
                                                 int sstr,
                                                 const uint16_t *s2_1,
                                                 int n);
    void        oil_scalaradd_u32               (uint32_t *dest,
                                                 int dstr,
                                                 const uint32_t *src,
                                                 int sstr,
                                                 const uint32_t *s2_1,
                                                 int n);
    void        oil_scalaradd_u8                (uint8_t *dest,
                                                 int dstr,
                                                 const uint8_t *src,
                                                 int sstr,
                                                 const uint8_t *s2_1,
                                                 int n);
    void        oil_scalarmult_f32              (float *dest,
                                                 int dstr,
                                                 const float *src,
                                                 int sstr,
                                                 const float *s2_1,
                                                 int n);
    void        oil_scalarmult_f64              (double *dest,
                                                 int dstr,
                                                 const double *src,
                                                 int sstr,
                                                 const double *s2_1,
                                                 int n);
    void        oil_scalarmult_s16              (int16_t *dest,
                                                 int dstr,
                                                 const int16_t *src,
                                                 int sstr,
                                                 const int16_t *s2_1,
                                                 int n);
    void        oil_scalarmult_s32              (int32_t *dest,
                                                 int dstr,
                                                 const int32_t *src,
                                                 int sstr,
                                                 const int32_t *s2_1,
                                                 int n);
    void        oil_scalarmult_s8               (int8_t *dest,
                                                 int dstr,
                                                 const int8_t *src,
                                                 int sstr,
                                                 const int8_t *s2_1,
                                                 int n);
    void        oil_scalarmult_u16              (uint16_t *dest,
                                                 int dstr,
                                                 const uint16_t *src,
                                                 int sstr,
                                                 const uint16_t *s2_1,
                                                 int n);
    void        oil_scalarmult_u32              (uint32_t *dest,
                                                 int dstr,
                                                 const uint32_t *src,
                                                 int sstr,
                                                 const uint32_t *s2_1,
                                                 int n);
    void        oil_scalarmult_u8               (uint8_t *dest,
                                                 int dstr,
                                                 const uint8_t *src,
                                                 int sstr,
                                                 const uint8_t *s2_1,
                                                 int n);
    void        oil_vectoradd_f32               (float *dest,
                                                 int dstr,
                                                 const float *src1,
                                                 int sstr1,
                                                 const float *src2,
                                                 int sstr2,
                                                 int n,
                                                 const float *s3_1,
                                                 const float *s4_1);
    void        oil_vectoradd_f64               (double *dest,
                                                 int dstr,
                                                 const double *src1,
                                                 int sstr1,
                                                 const double *src2,
                                                 int sstr2,
                                                 int n,
                                                 const double *s3_1,
                                                 const double *s4_1);
    void        oil_vectoradd_s16               (int16_t *dest,
                                                 int dstr,
                                                 const int16_t *src1,
                                                 int sstr1,
                                                 const int16_t *src2,
                                                 int sstr2,
                                                 int n,
                                                 const int16_t *s3_1,
                                                 const int16_t *s4_1);
    void        oil_vectoradd_s32               (int32_t *dest,
                                                 int dstr,
                                                 const int32_t *src1,
                                                 int sstr1,
                                                 const int32_t *src2,
                                                 int sstr2,
                                                 int n,
                                                 const int32_t *s3_1,
                                                 const int32_t *s4_1);
    void        oil_vectoradd_s8                (int8_t *dest,
                                                 int dstr,
                                                 const int8_t *src1,
                                                 int sstr1,
                                                 const int8_t *src2,
                                                 int sstr2,
                                                 int n,
                                                 const int8_t *s3_1,
                                                 const int8_t *s4_1);
    void        oil_vectoradd_u16               (uint16_t *dest,
                                                 int dstr,
                                                 const uint16_t *src1,
                                                 int sstr1,
                                                 const uint16_t *src2,
                                                 int sstr2,
                                                 int n,
                                                 const uint16_t *s3_1,
                                                 const uint16_t *s4_1);
    void        oil_vectoradd_u32               (uint32_t *dest,
                                                 int dstr,
                                                 const uint32_t *src1,
                                                 int sstr1,
                                                 const uint32_t *src2,
                                                 int sstr2,
                                                 int n,
                                                 const uint32_t *s3_1,
                                                 const uint32_t *s4_1);
    void        oil_vectoradd_u8                (uint8_t *dest,
                                                 int dstr,
                                                 const uint8_t *src1,
                                                 int sstr1,
                                                 const uint8_t *src2,
                                                 int sstr2,
                                                 int n,
                                                 const uint8_t *s3_1,
                                                 const uint8_t *s4_1);
    void        oil_squaresum_f64               (double *dest,
                                                 const double *src,
                                                 int n);
    void        oil_sum_f64                     (double *dest,
                                                 const double *src,
                                                 int sstr,
                                                 int n);
    void        oil_add_f32                     (float *d,
                                                 const float *s1,
                                                 const float *s2,
                                                 int n);
    void        oil_divide_f32                  (float *d,
                                                 const float *s1,
                                                 const float *s2,
                                                 int n);
    void        oil_floor_f32                   (float *d,
                                                 const float *s,
                                                 int n);
    void        oil_inverse_f32                 (float *d,
                                                 const float *s,
                                                 int n);
    void        oil_maximum_f32                 (float *d,
                                                 const float *s1,
                                                 const float *s2,
                                                 int n);
    void        oil_minimum_f32                 (float *d,
                                                 const float *s1,
                                                 const float *s2,
                                                 int n);
    void        oil_multiply_f32                (float *d,
                                                 const float *s1,
                                                 const float *s2,
                                                 int n);
    void        oil_negative_f32                (float *d,
                                                 const float *s,
                                                 int n);
    void        oil_scalaradd_f32_ns            (float *d,
                                                 const float *s1,
                                                 const float *s2_1,
                                                 int n);
    void        oil_scalarmultiply_f32_ns       (float *d,
                                                 const float *s1,
                                                 const float *s2_1,
                                                 int n);
    void        oil_sign_f32                    (float *d,
                                                 const float *s,
                                                 int n);
    void        oil_subtract_f32                (float *d,
                                                 const float *s1,
                                                 const float *s2,
                                                 int n);

## Description

## Details

### oil_abs_f32_f32 ()

    void        oil_abs_f32_f32                 (float *dest,
                                                 int dstr,
                                                 const float *src,
                                                 int sstr,
                                                 int n);

Calculates the absolute value of each element.

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`n` : |

### oil_abs_f64_f64 ()

    void        oil_abs_f64_f64                 (double *dest,
                                                 int dstr,
                                                 const double *src,
                                                 int sstr,
                                                 int n);

Calculates the absolute value of each element.

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`n` : |

### oil_abs_u16_s16 ()

    void        oil_abs_u16_s16                 (uint16_t *dest,
                                                 int dstr,
                                                 const int16_t *src,
                                                 int sstr,
                                                 int n);

Calculates the absolute value of each element.

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`n` : |

### oil_abs_u32_s32 ()

    void        oil_abs_u32_s32                 (uint32_t *dest,
                                                 int dstr,
                                                 const int32_t *src,
                                                 int sstr,
                                                 int n);

Calculates the absolute value of each element.

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`n` : |

### oil_abs_u8_s8 ()

    void        oil_abs_u8_s8                   (uint8_t *dest,
                                                 int dstr,
                                                 const int8_t *src,
                                                 int sstr,
                                                 int n);

Calculates the absolute value of each element.

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`n` : |

### oil_average2_u8 ()

    void        oil_average2_u8                 (uint8_t *dest,
                                                 int dstr,
                                                 const uint8_t *src1,
                                                 int sstr1,
                                                 const uint8_t *src2,
                                                 int sstr2,
                                                 int n);

Calculates the average of each element in the source arrays.

`dest` : |
`dstr` : |
`src1` : |
`sstr1` : |
`src2` : |
`sstr2` : |
`n` : |

### oil_multsum_f32 ()

    void        oil_multsum_f32                 (float *dest,
                                                 const float *src1,
                                                 int sstr1,
                                                 const float *src2,
                                                 int sstr2,
                                                 int n);

`dest` : |
`src1` : |
`sstr1` : |
`src2` : |
`sstr2` : |
`n` : |

### oil_multsum_f64 ()

    void        oil_multsum_f64                 (double *dest,
                                                 const double *src1,
                                                 int sstr1,
                                                 const double *src2,
                                                 int sstr2,
                                                 int n);

`dest` : |
`src1` : |
`sstr1` : |
`src2` : |
`sstr2` : |
`n` : |

### oil_scalaradd_f32 ()

    void        oil_scalaradd_f32               (float *dest,
                                                 int dstr,
                                                 const float *src,
                                                 int sstr,
                                                 const float *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalaradd_f64 ()

    void        oil_scalaradd_f64               (double *dest,
                                                 int dstr,
                                                 const double *src,
                                                 int sstr,
                                                 const double *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalaradd_s16 ()

    void        oil_scalaradd_s16               (int16_t *dest,
                                                 int dstr,
                                                 const int16_t *src,
                                                 int sstr,
                                                 const int16_t *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalaradd_s32 ()

    void        oil_scalaradd_s32               (int32_t *dest,
                                                 int dstr,
                                                 const int32_t *src,
                                                 int sstr,
                                                 const int32_t *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalaradd_s8 ()

    void        oil_scalaradd_s8                (int8_t *dest,
                                                 int dstr,
                                                 const int8_t *src,
                                                 int sstr,
                                                 const int8_t *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalaradd_u16 ()

    void        oil_scalaradd_u16               (uint16_t *dest,
                                                 int dstr,
                                                 const uint16_t *src,
                                                 int sstr,
                                                 const uint16_t *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalaradd_u32 ()

    void        oil_scalaradd_u32               (uint32_t *dest,
                                                 int dstr,
                                                 const uint32_t *src,
                                                 int sstr,
                                                 const uint32_t *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalaradd_u8 ()

    void        oil_scalaradd_u8                (uint8_t *dest,
                                                 int dstr,
                                                 const uint8_t *src,
                                                 int sstr,
                                                 const uint8_t *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalarmult_f32 ()

    void        oil_scalarmult_f32              (float *dest,
                                                 int dstr,
                                                 const float *src,
                                                 int sstr,
                                                 const float *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalarmult_f64 ()

    void        oil_scalarmult_f64              (double *dest,
                                                 int dstr,
                                                 const double *src,
                                                 int sstr,
                                                 const double *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalarmult_s16 ()

    void        oil_scalarmult_s16              (int16_t *dest,
                                                 int dstr,
                                                 const int16_t *src,
                                                 int sstr,
                                                 const int16_t *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalarmult_s32 ()

    void        oil_scalarmult_s32              (int32_t *dest,
                                                 int dstr,
                                                 const int32_t *src,
                                                 int sstr,
                                                 const int32_t *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalarmult_s8 ()

    void        oil_scalarmult_s8               (int8_t *dest,
                                                 int dstr,
                                                 const int8_t *src,
                                                 int sstr,
                                                 const int8_t *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalarmult_u16 ()

    void        oil_scalarmult_u16              (uint16_t *dest,
                                                 int dstr,
                                                 const uint16_t *src,
                                                 int sstr,
                                                 const uint16_t *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalarmult_u32 ()

    void        oil_scalarmult_u32              (uint32_t *dest,
                                                 int dstr,
                                                 const uint32_t *src,
                                                 int sstr,
                                                 const uint32_t *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_scalarmult_u8 ()

    void        oil_scalarmult_u8               (uint8_t *dest,
                                                 int dstr,
                                                 const uint8_t *src,
                                                 int sstr,
                                                 const uint8_t *s2_1,
                                                 int n);

`dest` : |
`dstr` : |
`src` : |
`sstr` : |
`s2_1` : |
`n` : |

### oil_vectoradd_f32 ()

    void        oil_vectoradd_f32               (float *dest,
                                                 int dstr,
                                                 const float *src1,
                                                 int sstr1,
                                                 const float *src2,
                                                 int sstr2,
                                                 int n,
                                                 const float *s3_1,
                                                 const float *s4_1);

`dest` : |
`dstr` : |
`src1` : |
`sstr1` : |
`src2` : |
`sstr2` : |
`n` : |
`s3_1` : |
`s4_1` : |

### oil_vectoradd_f64 ()

    void        oil_vectoradd_f64               (double *dest,
                                                 int dstr,
                                                 const double *src1,
                                                 int sstr1,
                                                 const double *src2,
                                                 int sstr2,
                                                 int n,
                                                 const double *s3_1,
                                                 const double *s4_1);

`dest` : |
`dstr` : |
`src1` : |
`sstr1` : |
`src2` : |
`sstr2` : |
`n` : |
`s3_1` : |
`s4_1` : |

### oil_vectoradd_s16 ()

    void        oil_vectoradd_s16               (int16_t *dest,
                                                 int dstr,
                                                 const int16_t *src1,
                                                 int sstr1,
                                                 const int16_t *src2,
                                                 int sstr2,
                                                 int n,
                                                 const int16_t *s3_1,
                                                 const int16_t *s4_1);

`dest` : |
`dstr` : |
`src1` : |
`sstr1` : |
`src2` : |
`sstr2` : |
`n` : |
`s3_1` : |
`s4_1` : |

### oil_vectoradd_s32 ()

    void        oil_vectoradd_s32               (int32_t *dest,
                                                 int dstr,
                                                 const int32_t *src1,
                                                 int sstr1,
                                                 const int32_t *src2,
                                                 int sstr2,
                                                 int n,
                                                 const int32_t *s3_1,
                                                 const int32_t *s4_1);

`dest` : |
`dstr` : |
`src1` : |
`sstr1` : |
`src2` : |
`sstr2` : |
`n` : |
`s3_1` : |
`s4_1` : |

### oil_vectoradd_s8 ()

    void        oil_vectoradd_s8                (int8_t *dest,
                                                 int dstr,
                                                 const int8_t *src1,
                                                 int sstr1,
                                                 const int8_t *src2,
                                                 int sstr2,
                                                 int n,
                                                 const int8_t *s3_1,
                                                 const int8_t *s4_1);

`dest` : |
`dstr` : |
`src1` : |
`sstr1` : |
`src2` : |
`sstr2` : |
`n` : |
`s3_1` : |
`s4_1` : |

### oil_vectoradd_u16 ()

    void        oil_vectoradd_u16               (uint16_t *dest,
                                                 int dstr,
                                                 const uint16_t *src1,
                                                 int sstr1,
                                                 const uint16_t *src2,
                                                 int sstr2,
                                                 int n,
                                                 const uint16_t *s3_1,
                                                 const uint16_t *s4_1);

`dest` : |
`dstr` : |
`src1` : |
`sstr1` : |
`src2` : |
`sstr2` : |
`n` : |
`s3_1` : |
`s4_1` : |

### oil_vectoradd_u32 ()

    void        oil_vectoradd_u32               (uint32_t *dest,
                                                 int dstr,
                                                 const uint32_t *src1,
                                                 int sstr1,
                                                 const uint32_t *src2,
                                                 int sstr2,
                                                 int n,
                                                 const uint32_t *s3_1,
                                                 const uint32_t *s4_1);

`dest` : |
`dstr` : |
`src1` : |
`sstr1` : |
`src2` : |
`sstr2` : |
`n` : |
`s3_1` : |
`s4_1` : |

### oil_vectoradd_u8 ()

    void        oil_vectoradd_u8                (uint8_t *dest,
                                                 int dstr,
                                                 const uint8_t *src1,
                                                 int sstr1,
                                                 const uint8_t *src2,
                                                 int sstr2,
                                                 int n,
                                                 const uint8_t *s3_1,
                                                 const uint8_t *s4_1);

`dest` : |
`dstr` : |
`src1` : |
`sstr1` : |
`src2` : |
`sstr2` : |
`n` : |
`s3_1` : |
`s4_1` : |

### oil_squaresum_f64 ()

    void        oil_squaresum_f64               (double *dest,
                                                 const double *src,
                                                 int n);

`dest` : |
`src` : |
`n` : |

### oil_sum_f64 ()

    void        oil_sum_f64                     (double *dest,
                                                 const double *src,
                                                 int sstr,
                                                 int n);

Sums each element in the source array and places the result in the destination array.

`dest` : |
`src` : |
`sstr` : |
`n` : |

### oil_add_f32 ()

    void        oil_add_f32                     (float *d,
                                                 const float *s1,
                                                 const float *s2,
                                                 int n);

`d` : |
`s1` : |
`s2` : |
`n` : |

### oil_divide_f32 ()

    void        oil_divide_f32                  (float *d,
                                                 const float *s1,
                                                 const float *s2,
                                                 int n);

`d` : |
`s1` : |
`s2` : |
`n` : |

### oil_floor_f32 ()

    void        oil_floor_f32                   (float *d,
                                                 const float *s,
                                                 int n);

`d` : |
`s` : |
`n` : |

### oil_inverse_f32 ()

    void        oil_inverse_f32                 (float *d,
                                                 const float *s,
                                                 int n);

`d` : |
`s` : |
`n` : |

### oil_maximum_f32 ()

    void        oil_maximum_f32                 (float *d,
                                                 const float *s1,
                                                 const float *s2,
                                                 int n);

`d` : |
`s1` : |
`s2` : |
`n` : |

### oil_minimum_f32 ()

    void        oil_minimum_f32                 (float *d,
                                                 const float *s1,
                                                 const float *s2,
                                                 int n);

`d` : |
`s1` : |
`s2` : |
`n` : |

### oil_multiply_f32 ()

    void        oil_multiply_f32                (float *d,
                                                 const float *s1,
                                                 const float *s2,
                                                 int n);

`d` : |
`s1` : |
`s2` : |
`n` : |

### oil_negative_f32 ()

    void        oil_negative_f32                (float *d,
                                                 const float *s,
                                                 int n);

`d` : |
`s` : |
`n` : |

### oil_scalaradd_f32_ns ()

    void        oil_scalaradd_f32_ns            (float *d,
                                                 const float *s1,
                                                 const float *s2_1,
                                                 int n);

`d` : |
`s1` : |
`s2_1` : |
`n` : |

### oil_scalarmultiply_f32_ns ()

    void        oil_scalarmultiply_f32_ns       (float *d,
                                                 const float *s1,
                                                 const float *s2_1,
                                                 int n);

`d` : |
`s1` : |
`s2_1` : |
`n` : |

### oil_sign_f32 ()

    void        oil_sign_f32                    (float *d,
                                                 const float *s,
                                                 int n);

`d` : |
`s` : |
`n` : |

### oil_subtract_f32 ()

    void        oil_subtract_f32                (float *d,
                                                 const float *s1,
                                                 const float *s2,
                                                 int n);

`d` : |
`s1` : |
`s2` : |
`n` : |