[ast] improved polynomial display with unicode superscripts
[scilab.git] / scilab / modules / ast / includes / types / singlepoly.hxx
index 3c39f31..dec00f5 100644 (file)
@@ -2,11 +2,14 @@
 *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 *  Copyright (C) 2008-2008 - DIGITEO - Antoine ELIAS
 *
-*  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
+ * Copyright (C) 2012 - 2016 - Scilab Enterprises
+ *
+ * This file is hereby licensed under the terms of the GNU GPL v2.0,
+ * pursuant to article 5.3.4 of the CeCILL v.2.1.
+ * This file was originally licensed under the terms of the CeCILL v2.1,
+ * and continues to be available under such terms.
+ * For more information, see the COPYING file which you should have received
+ * along with this program.
 *
 */
 
@@ -27,64 +30,65 @@ public :
     SinglePoly(double** _pdblCoefR, double** _pdblcoefI, int _iRank);
 
     virtual                 ~SinglePoly();
-    virtual void            deleteAll();
-    virtual void            deleteImg();
+    virtual void            deleteAll() override;
+    virtual void            deleteImg() override;
 
     // FIXME : Should not return NULL;
-    SinglePoly*             clone();
+    SinglePoly*             clone() override;
     SinglePoly*             conjugate();
 
-    bool                    isSinglePoly()
+    bool                    isSinglePoly() override
     {
         return true;
     }
     /*Config management*/
-    void                    whoAmI();
+    void                    whoAmI() override;
 
-    virtual double          getNullValue();
-    virtual SinglePoly*     createEmpty(int _iDims, int* _piDims, bool _bComplex);
-    virtual double*         allocData(int _iSize);
-    virtual double          copyValue(double _dblData);
-    virtual bool            subMatrixToString(std::wostringstream& ostr, int* _piDims, int _iDims);
+    virtual double          getNullValue() override;
+    virtual SinglePoly*     createEmpty(int _iDims, int* _piDims, bool _bComplex) override;
+    virtual double*         allocData(int _iSize) override;
+    virtual double          copyValue(double _dblData) override;
+    virtual bool            subMatrixToString(std::wostringstream& ostr, int* _piDims, int _iDims) override;
 
     bool                    setZeros();
     int                     getRank();
+    double                  getDegree();
     bool                    setRank(int _iRank, bool bSave = false);
     bool                    setCoef(Double *_poPow);
-    bool                    setCoef(double *_pdblCoefR, double *_pdblCoefI);
+    bool                    setCoef(const double *_pdblCoefR, const double *_pdblCoefI);
     bool                    evaluate(double _dblInR, double _dblInI, double *_pdblOutR, double *_pdblOutI);
     void                    updateRank(void);
 
-    void                    toStringReal(std::wstring _szVar, std::list<std::wstring>* _pListExp , std::list<std::wstring>* _pListCoef);
-    void                    toStringImg(std::wstring _szVar, std::list<std::wstring>* _pListExp , std::list<std::wstring>* _pListCoef);
+    void                    toStringReal(const std::wstring& _szVar, std::list<std::wstring>* _pListCoef);
+    void                    toStringImg(const std::wstring& _szVar, std::list<std::wstring>* _pListCoef);
 
-    bool                    toString(std::wostringstream& ostr);
+    bool                    toString(std::wostringstream& ostr) override;
 
-    bool                    operator==(const InternalType& it);
-    bool                    operator!=(const InternalType& it);
+    bool                    operator==(const InternalType& it) override;
+    bool                    operator!=(const InternalType& it) override;
 
     /* return type as string ( double, int, cell, list, ... )*/
-    virtual std::wstring    getTypeStr()
+    virtual std::wstring    getTypeStr() const override
     {
         return L"poly";
     }
     /* return type as short string ( s, i, ce, l, ... )*/
-    virtual std::wstring    getShortTypeStr()
+    virtual std::wstring    getShortTypeStr() const override
     {
         return L"p";
     }
 protected :
-    inline ScilabType       getType(void)
+    inline ScilabType       getType(void) override
     {
         return ScilabSinglePolynom;
     }
-    inline ScilabId         getId(void)
+    inline ScilabId         getId(void) override
     {
         return IdSinglePolynom;
     }
 
 private :
-    void                    toStringInternal(double *_pdblVal, std::wstring _szVar, std::list<std::wstring>* _pListExp , std::list<std::wstring>* _pListCoef);
+    void                    toStringInternal(double *_pdblVal, const std::wstring& _szVar, std::list<std::wstring>* _pListCoef);
 
 };