fix dotpower for the Sparse
[scilab.git] / scilab / modules / ast / includes / operations / types_power.hxx
1 /*
2 *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 *  Copyright (C) 2008-2008 - DIGITEO - Antoine ELIAS
4 *
5 *  This file must be used under the terms of the CeCILL.
6 *  This source file is licensed as described in the file COPYING, which
7 *  you should have received as part of this distribution.  The terms
8 *  are also available at
9 *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10 *
11 */
12
13 #ifndef __TYPES_POWER_HXX__
14 #define __TYPES_POWER_HXX__
15
16 #include "generic_operations.hxx"
17 #include "internal.hxx"
18 #include "double.hxx"
19 #include "polynom.hxx"
20 #include "sparse.hxx"
21
22 // FIXME : remove using namespace.
23 using namespace types;
24
25 //power operations
26 int PowerDoubleByDouble(Double* _pDouble1, Double* _pDouble2, Double** _pDoubleOut);
27 int PowerPolyByDouble(Polynom* _pPoly, Double* _pDouble, InternalType** _pOut);
28
29 //dot power operations
30 int DotPowerDoubleByDouble(Double* _pDouble1, Double* _pDouble2, Double** _pDoubleOut);
31 int DotPowerPolyByDouble(Polynom* _pPoly, Double* _pDouble, InternalType** _pOut);
32 int DotPowerSpaseByDouble(Sparse* _pSp, Double* _pDouble, InternalType** _pOut);
33
34 extern "C"
35 {
36     /*declare extern fortran functions*/
37     extern void C2F(dpmul1)(double* _pdbl1, int* _piRank1, double* _pdbl2, int* _piRank2, double* _pdblOut);
38     extern void C2F(wpmul1)(double* _pdblR1, double* _pdblI1, int* _piRank1, double* _pdblR2, double* _pdblI2, int* _piRank2, double* _pdblOutR, double* _pdblOutI);
39 }
40 #endif /* __TYPES_POWER_HXX__ */