summaryrefslogtreecommitdiff
path: root/src/operations/includes
diff options
context:
space:
mode:
Diffstat (limited to 'src/operations/includes')
-rw-r--r--src/operations/includes/addition.h106
-rw-r--r--src/operations/includes/division.h188
-rw-r--r--src/operations/includes/multiplication.h106
-rw-r--r--src/operations/includes/subtraction.h106
4 files changed, 506 insertions, 0 deletions
diff --git a/src/operations/includes/addition.h b/src/operations/includes/addition.h
new file mode 100644
index 00000000..b28f0821
--- /dev/null
+++ b/src/operations/includes/addition.h
@@ -0,0 +1,106 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __ADDITION_H__
+#define __ADDITION_H__
+
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+/*
+**
+** WARNING WE ASSUME MATRIXES TO BE CONSCISTENT
+** size1 = size2;
+**
+*/
+
+/*
+** \brief Compute an addition with floats.
+** \param in1 : input float.
+** \param in2 : input float.
+** \return : in1 + in2
+*/
+float sadds(float in1, float in2);
+
+/*
+** \brief Compute an addition element ways for floats.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the addition in1 + in2.
+*/
+void sadda(float *in1, int size1,
+ float *in2, int size2,
+ float *out);
+
+/*
+** \brief Compute an addition with double.
+** \param in1 : input double.
+** \param in2 : input double.
+** \return : in1 + in2
+*/
+double dadds(double in1, double in2);
+
+/*
+** \brief Compute an addition element ways for double.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the addition in1 + in2.
+*/
+void dadda(double *in1, int size1,
+ double *in2, int size2,
+ double * out);
+
+/*
+** \brief Compute an addition with floats Complex.
+** \param in1 : input float complex.
+** \param in2 : input float complex.
+** \return : in1 + in2
+*/
+floatComplex cadds(floatComplex in1, floatComplex in2);
+
+/*
+** \brief Compute an addition element ways for complex single precision.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the addition in1 + in2.
+*/
+void cadda(floatComplex *in1, int size1,
+ floatComplex *in2, int size2,
+ floatComplex *out);
+
+/*
+** \brief Compute an addition with double complex.
+** \param in1 : input double complex.
+** \param in2 : input double conplex.
+** \return : in1 + in2
+*/
+doubleComplex zadds(doubleComplex in1, doubleComplex in2);
+
+/*
+** \brief Compute an addition element ways for complex double precision.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the addition in1 + in2.
+*/
+void zadda(doubleComplex *in1, int size1,
+ doubleComplex *in2, int size2,
+ doubleComplex *out);
+
+#endif /* !__ADDITION_H__ */
diff --git a/src/operations/includes/division.h b/src/operations/includes/division.h
new file mode 100644
index 00000000..0f5dfde5
--- /dev/null
+++ b/src/operations/includes/division.h
@@ -0,0 +1,188 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - DIGITEO - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __DIVISION_H__
+#define __DIVISION_H__
+
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+/*
+** RIGHT DIVISION
+*/
+
+/*
+** \brief Compute a right division for floats.
+** \param in1 : input float.
+** \param in2 : input float.
+** \return in1 / in2.
+*/
+float srdivs (float in1, float in2);
+
+/*
+** \brief Compute a right division element ways for floats.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the division in1 / in2.
+*/
+void srdiva (float* in1, int size1,
+ float* in2, int size2,
+ float* out );
+
+/*
+** \brief Compute a right division for double.
+** \param in1 : input double.
+** \param in2 : input double.
+** \return in1 / in2.
+*/
+double drdivs (double in1, double in2);
+
+/*
+** \brief Compute a right division element ways for double.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the division in1 / in2.
+*/
+void drdiva (double* in1, int size1,
+ double* in2, int size2,
+ double* out );
+
+/*
+** \brief Compute a right division for floats complex.
+** \param in1 : input float complex.
+** \param in2 : input float complex.
+** \return in1 / in2.
+*/
+floatComplex crdivs (floatComplex in1, floatComplex in2);
+
+/*
+** \brief Compute a right division element ways for float complex.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the division in1 / in2.
+*/
+void crdiva(floatComplex* in1, int size1,
+ floatComplex* in2, int size2,
+ floatComplex* out );
+
+/*
+** \brief Compute a right division for double complex.
+** \param in1 : input double complex.
+** \param in2 : input double complex.
+** \return in1 / in2.
+*/
+doubleComplex zrdivs (doubleComplex in1, doubleComplex in2);
+
+/*
+** \brief Compute a right division element ways for double complex.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the division in1 / in2.
+*/
+void zrdiva(doubleComplex* in1, int size1,
+ doubleComplex* in2, int size2,
+ doubleComplex* out );
+
+/*
+** LEFT DIVISION
+*/
+
+/*
+** \brief Compute a left division for floats.
+** \param in1 : input float.
+** \param in2 : input float.
+** \return in1 \ in2.
+*/
+float sldivs (float in1, float in2);
+
+/*
+** \brief Compute a left division element ways for floats.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the division in1 \ in2.
+*/
+void sldiva (float* in1, int size1,
+ float* in2, int size2,
+ float* out );
+
+/*
+** \brief Compute a left division for double.
+** \param in1 : input double.
+** \param in2 : input double.
+** \return in1 \ in2.
+*/
+double dldivs (double in1, double in2);
+
+/*
+** \brief Compute a left division element ways for double.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the division in1 \ in2.
+*/
+void dldiva (double* in1, int size1,
+ double* in2, int size2,
+ double* out );
+
+/*
+** \brief Compute a left division for floats complex.
+** \param in1 : input float complex.
+** \param in2 : input float complex.
+** \return in1 \ in2.
+*/
+floatComplex cldivs (floatComplex in1, floatComplex in2);
+
+/*
+** \brief Compute a left division element ways for float complex.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the division in1 \ in2.
+*/
+void cldiva(floatComplex* in1, int size1,
+ floatComplex* in2, int size2,
+ floatComplex* out );
+
+/*
+** \brief Compute a left division for double complex.
+** \param in1 : input double complex.
+** \param in2 : input double complex.
+** \return in1 \ in2.
+*/
+doubleComplex zldivs (doubleComplex in1, doubleComplex in2);
+
+/*
+** \brief Compute a left division element ways for double complex.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the division in1 \ in2.
+*/
+void zldiva(doubleComplex* in1, int size1,
+ doubleComplex* in2, int size2,
+ doubleComplex* out );
+
+
+#endif /* !__DIVISION_H__ */
diff --git a/src/operations/includes/multiplication.h b/src/operations/includes/multiplication.h
new file mode 100644
index 00000000..69c4b076
--- /dev/null
+++ b/src/operations/includes/multiplication.h
@@ -0,0 +1,106 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __MULTIPLICATION_H__
+#define __MULTIPLICATION_H__
+
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+/*
+**
+** WARNING WE ASSUME MATRIXES TO BE CONSCISTENT
+** size1 = size2;
+**
+*/
+
+/*
+** \brief Compute a multiplication with floats.
+** \param in1 : input float.
+** \param in2 : input float.
+** \return : in1 + in2
+*/
+float smuls(float in1, float in2);
+
+/*
+** \brief Compute a multiplication element ways for floats.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the multiplication in1 + in2.
+*/
+void smula(float *in1, int size1,
+ float *in2, int size2,
+ float *out);
+
+/*
+** \brief Compute a multiplication with double.
+** \param in1 : input double.
+** \param in2 : input double.
+** \return : in1 + in2
+*/
+double dmuls(double in1, double in2);
+
+/*
+** \brief Compute a multiplication element ways for double.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the multiplication in1 + in2.
+*/
+void dmula(double *in1, int size1,
+ double *in2, int size2,
+ double * out);
+
+/*
+** \brief Compute a multiplication with floats Complex.
+** \param in1 : input float complex.
+** \param in2 : input float complex.
+** \return : in1 + in2
+*/
+floatComplex smuls(floatComplex in1, floatComplex in2);
+
+/*
+** \brief Compute a multiplication element ways for complex single precision.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the multiplication in1 + in2.
+*/
+void cmula(floatComplex *in1, int size1,
+ floatComplex *in2, int size2,
+ floatComplex *out);
+
+/*
+** \brief Compute a multiplication with double complex.
+** \param in1 : input double complex.
+** \param in2 : input double conplex.
+** \return : in1 + in2
+*/
+doubleComplex dmuls(doubleComplex in1, doubleComplex in2);
+
+/*
+** \brief Compute a multiplication element ways for complex double precision.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the multiplication in1 + in2.
+*/
+void zmula(doubleComplex *in1, int size1,
+ doubleComplex *in2, int size2,
+ doubleComplex *out);
+
+#endif /* !__MULTIPLICATION_H__ */
diff --git a/src/operations/includes/subtraction.h b/src/operations/includes/subtraction.h
new file mode 100644
index 00000000..0a923d9d
--- /dev/null
+++ b/src/operations/includes/subtraction.h
@@ -0,0 +1,106 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __SUBTRACTION_H__
+#define __SUBTRACTION_H__
+
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+/*
+**
+** WARNING WE ASSUME MATRIXES TO BE CONSCISTENT
+** size1 = size2;
+**
+*/
+
+/*
+** \brief Compute a subtraction with floats.
+** \param in1 : input float.
+** \param in2 : input float.
+** \return : in1 + in2
+*/
+float sdiffs(float in1, float in2);
+
+/*
+** \brief Compute a subtraction element ways for floats.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the subtraction in1 + in2.
+*/
+void sdiffa(float *in1, int size1,
+ float *in2, int size2,
+ float *out);
+
+/*
+** \brief Compute a subtraction with double.
+** \param in1 : input double.
+** \param in2 : input double.
+** \return : in1 + in2
+*/
+double ddiffs(double in1, double in2);
+
+/*
+** \brief Compute a subtraction element ways for double.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the subtraction in1 + in2.
+*/
+void ddiffa(double *in1, int size1,
+ double *in2, int size2,
+ double * out);
+
+/*
+** \brief Compute a subtraction with floats Complex.
+** \param in1 : input float complex.
+** \param in2 : input float complex.
+** \return : in1 + in2
+*/
+floatComplex cdiffs(floatComplex in1, floatComplex in2);
+
+/*
+** \brief Compute a subtraction element ways for complex single precision.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the subtraction in1 + in2.
+*/
+void cdiffa(floatComplex *in1, int size1,
+ floatComplex *in2, int size2,
+ floatComplex *out);
+
+/*
+** \brief Compute a subtraction with double complex.
+** \param in1 : input double complex.
+** \param in2 : input double conplex.
+** \return : in1 + in2
+*/
+doubleComplex zdiffs(doubleComplex in1, doubleComplex in2);
+
+/*
+** \brief Compute a subtraction element ways for complex double precision.
+** \param in1 : input array.
+** \param size1 : size of in1 array.
+** \param in2 : input arry.
+** \param size2 : size of in2 array.
+** \param out : array that contains the subtraction in1 + in2.
+*/
+void zdiffa(doubleComplex *in1, int size1,
+ doubleComplex *in2, int size2,
+ doubleComplex *out);
+
+#endif /* !__SUBTRACTION_H__ */