vec: add some new functions for vector

* _mul: multiply two vector (replacement for _mulv)
* _div: div two vector
* _divs: div vector with scalar
* adds: add scalar to each components of vec
* subs: sub scalar from each components of vec
This commit is contained in:
Recep Aslantas
2018-04-13 15:12:56 +03:00
parent af5a2627b4
commit d841f8809d
12 changed files with 510 additions and 72 deletions

View File

@@ -30,9 +30,14 @@ Functions:
#. :c:func:`glm_vec4_norm2`
#. :c:func:`glm_vec4_norm`
#. :c:func:`glm_vec4_add`
#. :c:func:`glm_vec4_adds`
#. :c:func:`glm_vec4_sub`
#. :c:func:`glm_vec4_subs`
#. :c:func:`glm_vec4_mul`
#. :c:func:`glm_vec4_scale`
#. :c:func:`glm_vec4_scale_as`
#. :c:func:`glm_vec4_div`
#. :c:func:`glm_vec4_divs`
#. :c:func:`glm_vec4_flipsign`
#. :c:func:`glm_vec_flipsign_to`
#. :c:func:`glm_vec4_inv`
@@ -119,24 +124,51 @@ Functions documentation
Parameters:
| *[in]* **vec** vector
.. c:function:: void glm_vec4_add(vec4 v1, vec4 v2, vec4 dest)
.. c:function:: void glm_vec4_add(vec4 a, vec4 b, vec4 dest)
add v2 vector to v1 vector store result in dest
add a vector to b vector store result in dest
Parameters:
| *[in]* **v1** vector1
| *[in]* **v2** vector2
| *[in]* **a** vector1
| *[in]* **b** vector2
| *[out]* **dest** destination vector
.. c:function:: void glm_vec4_sub(vec4 v1, vec4 v2, vec4 dest)
.. c:function:: void glm_vec4_adds(vec4 v, float s, vec4 dest)
subtract v2 vector from v1 vector store result in dest
add scalar to v vector store result in dest (d = v + vec(s))
Parameters:
| *[in]* **v1** vector1
| *[in]* **v2** vector2
| *[in]* **v** vector
| *[in]* **s** scalar
| *[out]* **dest** destination vector
.. c:function:: void glm_vec4_sub(vec4 a, vec4 b, vec4 dest)
subtract b vector from a vector store result in dest (d = v1 - v2)
Parameters:
| *[in]* **a** vector1
| *[in]* **b** vector2
| *[out]* **dest** destination vector
.. c:function:: void glm_vec4_subs(vec4 v, float s, vec4 dest)
subtract scalar from v vector store result in dest (d = v - vec(s))
Parameters:
| *[in]* **v** vector
| *[in]* **s** scalar
| *[out]* **dest** destination vector
.. c:function:: void glm_vec4_mul(vec4 a, vec4 b, vec4 d)
multiply two vector (component-wise multiplication)
Parameters:
| *[in]* **a** vector1
| *[in]* **b** vector2
| *[out]* **dest** result = (a[0] * b[0], a[1] * b[1], a[2] * b[2], a[3] * b[3])
.. c:function:: void glm_vec4_scale(vec4 v, float s, vec4 dest)
multiply/scale vec4 vector with scalar: result = v * s
@@ -155,6 +187,24 @@ Functions documentation
| *[in]* **s** scalar
| *[out]* **dest** destination vector
.. c:function:: void glm_vec4_div(vec4 a, vec4 b, vec4 dest)
div vector with another component-wise division: d = v1 / v2
Parameters:
| *[in]* **a** vector1
| *[in]* **b** vector2
| *[out]* **dest** result = (a[0] / b[0], a[1] / b[1], a[2] / b[2], a[3] / b[3])
.. c:function:: void glm_vec4_divs(vec4 v, float s, vec4 dest)
div vector with scalar: d = v / s
Parameters:
| *[in]* **v** vector
| *[in]* **s** scalar
| *[out]* **dest** result = (a[0] / s, a[1] / s, a[2] / s, a[3] / s)
.. c:function:: void glm_vec4_flipsign(vec4 v)
flip sign of all vec4 members