diff options
author | jofret | 2009-04-28 06:56:12 +0000 |
---|---|---|
committer | jofret | 2009-04-28 06:56:12 +0000 |
commit | 5868a7f86c42335cdad7252ea55117acf7bafe83 (patch) | |
tree | 49a1c60045522abf665bfe1e05c5bc7012a5b8e5 /src/c/operations/includes/multiplication.h | |
parent | 89ce1d449dde70966962946e197c576cf350dc31 (diff) | |
download | scilab2c-5868a7f86c42335cdad7252ea55117acf7bafe83.tar.gz scilab2c-5868a7f86c42335cdad7252ea55117acf7bafe83.tar.bz2 scilab2c-5868a7f86c42335cdad7252ea55117acf7bafe83.zip |
Moving source code
Diffstat (limited to 'src/c/operations/includes/multiplication.h')
-rw-r--r-- | src/c/operations/includes/multiplication.h | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/src/c/operations/includes/multiplication.h b/src/c/operations/includes/multiplication.h new file mode 100644 index 00000000..0fedf227 --- /dev/null +++ b/src/c/operations/includes/multiplication.h @@ -0,0 +1,115 @@ +/* + * 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 "dynlib_operations.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* +** +** 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 * in 2 = in1 .* in2. +*/ +EXTERN_OPERATIONS float smuls(float in1, float in2); + +/* +** \brief Compute a multiplication element ways for floats. +** \param in1 : input array. +** \param in2 : input array. +** \param size : size of in2 array. +** \param out : array that contains the multiplication = in1 .* in2. +*/ +EXTERN_OPERATIONS void smula(float *in1, float *in2, int size2, float *out); + +/* +** \brief Compute a multiplication with double. +** \param in1 : input double. +** \param in2 : input double. +** \return : in1 * in 2 = in1 .* in2. +*/ +EXTERN_OPERATIONS double dmuls(double in1, double in2); + +/* +** \brief Compute a multiplication element ways for double. +** \param in1 : input array. +** \param in2 : input array. +** \param size : size of in2 array. +** \param out : array that contains the multiplication = in1 .* in2. +*/ +EXTERN_OPERATIONS void dmula(double *in1, double *in2, int size,double * out); + +/* +** \brief Compute a multiplication with floats Complex. +** \param in1 : input float complex. +** \param in2 : input float complex. +** \return : in1 * in 2 = in1 .* in2. +*/ +EXTERN_OPERATIONS floatComplex cmuls(floatComplex in1, floatComplex in2); + +/* +** \brief Compute a multiplication element ways for complex single precision. +** \param in1 : input array. +** \param in2 : input array. +** \param size : size of in2 array. +** \param out : array that contains the multiplication = in1 .* in2. +*/ +EXTERN_OPERATIONS void cmula(floatComplex *in1, floatComplex *in2, int size, floatComplex *out); + +/* +** \brief Compute a multiplication with double complex. +** \param in1 : input double complex. +** \param in2 : input double conplex. +** \return : in1 * in 2 = in1 .* in2. +*/ +EXTERN_OPERATIONS doubleComplex zmuls(doubleComplex in1, doubleComplex in2); + +/* +** \brief Compute a multiplication element ways for complex double precision. +** \param in1 : input array. +** \param in2 : input array. +** \param size: size of in2 array. +** \param out : array that contains the multiplication = in1 .* in2. +*/ +EXTERN_OPERATIONS void zmula(doubleComplex *in1, doubleComplex *in2, int size, doubleComplex *out); + + +/* +** \function ctimess +** \brief Multiply 2 Complex numbers. +*/ +EXTERN_OPERATIONS floatComplex ctimess(floatComplex z1, floatComplex z2); + +/* +** \function ztimess +** \brief Multiply 2 Complex numbers. +*/ +EXTERN_OPERATIONS doubleComplex ztimess(doubleComplex z1, doubleComplex z2); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* !__MULTIPLICATION_H__ */ |