1*f6a6b25fSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*f6a6b25fSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*f6a6b25fSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*f6a6b25fSAndrew Rist * distributed with this work for additional information 6*f6a6b25fSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*f6a6b25fSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*f6a6b25fSAndrew Rist * "License"); you may not use this file except in compliance 9*f6a6b25fSAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*f6a6b25fSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*f6a6b25fSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*f6a6b25fSAndrew Rist * software distributed under the License is distributed on an 15*f6a6b25fSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*f6a6b25fSAndrew Rist * KIND, either express or implied. See the License for the 17*f6a6b25fSAndrew Rist * specific language governing permissions and limitations 18*f6a6b25fSAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*f6a6b25fSAndrew Rist *************************************************************/ 21*f6a6b25fSAndrew Rist 22*f6a6b25fSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef ANALYSIS_HXX 25cdf0e10cSrcweir #define ANALYSIS_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir 28cdf0e10cSrcweir #include <com/sun/star/sheet/XAddIn.hpp> 29cdf0e10cSrcweir #include <com/sun/star/lang/XServiceName.hpp> 30cdf0e10cSrcweir #include <com/sun/star/lang/XServiceInfo.hpp> 31cdf0e10cSrcweir #include <com/sun/star/lang/XMultiServiceFactory.hpp> 32cdf0e10cSrcweir #include <com/sun/star/sheet/addin/XAnalysis.hpp> 33cdf0e10cSrcweir #include <com/sun/star/sheet/LocalizedName.hpp> 34cdf0e10cSrcweir #include <com/sun/star/sheet/XCompatibilityNames.hpp> 35cdf0e10cSrcweir #include <com/sun/star/sheet/NoConvergenceException.hpp> 36cdf0e10cSrcweir 37cdf0e10cSrcweir #include <cppuhelper/implbase5.hxx> // helper for implementations 38cdf0e10cSrcweir 39cdf0e10cSrcweir #include "analysisdefs.hxx" 40cdf0e10cSrcweir #include "analysishelper.hxx" 41cdf0e10cSrcweir 42cdf0e10cSrcweir 43cdf0e10cSrcweir class FuncData; 44cdf0e10cSrcweir class FuncDataList; 45cdf0e10cSrcweir class ConvertDataList; 46cdf0e10cSrcweir class ResMgr; 47cdf0e10cSrcweir 48cdf0e10cSrcweir 49cdf0e10cSrcweir REF( CSS::uno::XInterface ) SAL_CALL AnalysisAddIn_CreateInstance( const REF( CSS::lang::XMultiServiceFactory )& ); 50cdf0e10cSrcweir 51cdf0e10cSrcweir 52cdf0e10cSrcweir class AnalysisAddIn : public cppu::WeakImplHelper5< 53cdf0e10cSrcweir CSS::sheet::XAddIn, 54cdf0e10cSrcweir CSS::sheet::XCompatibilityNames, 55cdf0e10cSrcweir CSS::sheet::addin::XAnalysis, 56cdf0e10cSrcweir CSS::lang::XServiceName, 57cdf0e10cSrcweir CSS::lang::XServiceInfo > 58cdf0e10cSrcweir { 59cdf0e10cSrcweir private: 60cdf0e10cSrcweir CSS::lang::Locale aFuncLoc; 61cdf0e10cSrcweir CSS::lang::Locale* pDefLocales; 62cdf0e10cSrcweir FuncDataList* pFD; 63cdf0e10cSrcweir double* pFactDoubles; 64cdf0e10cSrcweir ConvertDataList* pCDL; 65cdf0e10cSrcweir ResMgr* pResMgr; 66cdf0e10cSrcweir 67cdf0e10cSrcweir ScaAnyConverter aAnyConv; 68cdf0e10cSrcweir 69cdf0e10cSrcweir ResMgr& GetResMgr( void ) THROWDEF_RTE; 70cdf0e10cSrcweir STRING GetDisplFuncStr( sal_uInt16 nFuncNum ) THROWDEF_RTE; 71cdf0e10cSrcweir STRING GetFuncDescrStr( sal_uInt16 nResId, sal_uInt16 nStrIndex ) THROWDEF_RTE; 72cdf0e10cSrcweir void InitDefLocales( void ); 73cdf0e10cSrcweir inline const CSS::lang::Locale& GetLocale( sal_uInt32 nInd ); 74cdf0e10cSrcweir void InitData( void ); 75cdf0e10cSrcweir 76cdf0e10cSrcweir /// Converts an Any to sal_Int32 in the range from 0 to 4 (date calculation mode). 77cdf0e10cSrcweir sal_Int32 getDateMode( 78cdf0e10cSrcweir const CSS::uno::Reference< CSS::beans::XPropertySet >& xPropSet, 79cdf0e10cSrcweir const CSS::uno::Any& rAny ) 80cdf0e10cSrcweir throw( CSS::uno::RuntimeException, CSS::lang::IllegalArgumentException ); 81cdf0e10cSrcweir 82cdf0e10cSrcweir public: 83cdf0e10cSrcweir AnalysisAddIn( 84cdf0e10cSrcweir const CSS::uno::Reference< CSS::lang::XMultiServiceFactory >& xServiceFact ); 85cdf0e10cSrcweir virtual ~AnalysisAddIn(); 86cdf0e10cSrcweir 87cdf0e10cSrcweir double FactDouble( sal_Int32 nNum ) THROWDEF_RTE_IAE; 88cdf0e10cSrcweir 89cdf0e10cSrcweir static STRING getImplementationName_Static(); 90cdf0e10cSrcweir static SEQ( STRING ) getSupportedServiceNames_Static(); 91cdf0e10cSrcweir 92cdf0e10cSrcweir // XAddIn 93cdf0e10cSrcweir virtual STRING SAL_CALL getProgrammaticFuntionName( const STRING& aDisplayName ) THROWDEF_RTE; 94cdf0e10cSrcweir virtual STRING SAL_CALL getDisplayFunctionName( const STRING& aProgrammaticName ) THROWDEF_RTE; 95cdf0e10cSrcweir virtual STRING SAL_CALL getFunctionDescription( const STRING& aProgrammaticName ) THROWDEF_RTE; 96cdf0e10cSrcweir virtual STRING SAL_CALL getDisplayArgumentName( const STRING& aProgrammaticFunctionName, sal_Int32 nArgument ) THROWDEF_RTE; 97cdf0e10cSrcweir virtual STRING SAL_CALL getArgumentDescription( const STRING& aProgrammaticFunctionName, sal_Int32 nArgument ) THROWDEF_RTE; 98cdf0e10cSrcweir virtual STRING SAL_CALL getProgrammaticCategoryName( const STRING& aProgrammaticFunctionName ) THROWDEF_RTE; 99cdf0e10cSrcweir virtual STRING SAL_CALL getDisplayCategoryName( const STRING& aProgrammaticFunctionName ) THROWDEF_RTE; 100cdf0e10cSrcweir 101cdf0e10cSrcweir // XCompatibilityNames 102cdf0e10cSrcweir virtual SEQofLocName SAL_CALL getCompatibilityNames( const STRING& aProgrammaticName ) THROWDEF_RTE; 103cdf0e10cSrcweir 104cdf0e10cSrcweir // XLocalizable 105cdf0e10cSrcweir virtual void SAL_CALL setLocale( const CSS::lang::Locale& eLocale ) THROWDEF_RTE; 106cdf0e10cSrcweir virtual CSS::lang::Locale SAL_CALL getLocale( ) THROWDEF_RTE; 107cdf0e10cSrcweir 108cdf0e10cSrcweir // XServiceName 109cdf0e10cSrcweir virtual STRING SAL_CALL getServiceName( ) THROWDEF_RTE; 110cdf0e10cSrcweir 111cdf0e10cSrcweir // XServiceInfo 112cdf0e10cSrcweir virtual STRING SAL_CALL getImplementationName( ) THROWDEF_RTE; 113cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const STRING& ServiceName ) THROWDEF_RTE; 114cdf0e10cSrcweir virtual SEQ( STRING ) SAL_CALL getSupportedServiceNames( ) THROWDEF_RTE; 115cdf0e10cSrcweir 116cdf0e10cSrcweir // methods from own interfaces start here 117cdf0e10cSrcweir 118cdf0e10cSrcweir // XAnalysis 119cdf0e10cSrcweir // virtual double SAL_CALL get_Test( constREFXPS&, sal_Int32 nMode, double f1, double f2, double f3 ) THROWDEF_RTE; 120cdf0e10cSrcweir 121cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getWorkday( constREFXPS&, sal_Int32 nStartDate, sal_Int32 nDays, const ANY& aHDay ) THROWDEF_RTE_IAE; 122cdf0e10cSrcweir virtual double SAL_CALL getYearfrac( constREFXPS&, sal_Int32 nStartDate, sal_Int32 nEndDate, const ANY& aMode ) THROWDEF_RTE_IAE; 123cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getEdate( constREFXPS&, sal_Int32 nStartDate, sal_Int32 nMonths ) THROWDEF_RTE_IAE; 124cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getWeeknum( constREFXPS&, sal_Int32 nStartDate, sal_Int32 nMode ) THROWDEF_RTE_IAE; 125cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getEomonth( constREFXPS&, sal_Int32 nStartDate, sal_Int32 nMonths ) THROWDEF_RTE_IAE; 126cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getNetworkdays( constREFXPS&, sal_Int32 nStartDate, sal_Int32 nEndDate, const ANY& aHDay ) THROWDEF_RTE_IAE; 127cdf0e10cSrcweir 128cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getIseven( sal_Int32 nVal ) THROWDEF_RTE_IAE; 129cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getIsodd( sal_Int32 nVal ) THROWDEF_RTE_IAE; 130cdf0e10cSrcweir 131cdf0e10cSrcweir virtual double SAL_CALL getMultinomial( constREFXPS& xOpt, const SEQSEQ( sal_Int32 )& aVLst, const SEQ( com::sun::star::uno::Any )& aOptVLst ) THROWDEF_RTE_IAE; 132cdf0e10cSrcweir virtual double SAL_CALL getSeriessum( double fX, double fN, double fM, const SEQSEQ( double )& aCoeffList ) THROWDEF_RTE_IAE; 133cdf0e10cSrcweir virtual double SAL_CALL getQuotient( double fNum, double fDenum ) THROWDEF_RTE_IAE; 134cdf0e10cSrcweir 135cdf0e10cSrcweir virtual double SAL_CALL getMround( double fNum, double fMult ) THROWDEF_RTE_IAE; 136cdf0e10cSrcweir virtual double SAL_CALL getSqrtpi( double fNum ) THROWDEF_RTE_IAE; 137cdf0e10cSrcweir 138cdf0e10cSrcweir virtual double SAL_CALL getRandbetween( double fMin, double fMax ) THROWDEF_RTE_IAE; 139cdf0e10cSrcweir 140cdf0e10cSrcweir virtual double SAL_CALL getGcd( constREFXPS& xOpt, const SEQSEQ( double )& aVLst, const SEQ( ANY )& aOptVLst ) THROWDEF_RTE_IAE; 141cdf0e10cSrcweir virtual double SAL_CALL getLcm( constREFXPS& xOpt, const SEQSEQ( double )& aVLst, const SEQ( ANY )& aOptVLst ) THROWDEF_RTE_IAE; 142cdf0e10cSrcweir 143cdf0e10cSrcweir virtual double SAL_CALL getBesseli( double fNum, sal_Int32 nOrder ) THROWDEF_RTE_IAE_NCE; 144cdf0e10cSrcweir virtual double SAL_CALL getBesselj( double fNum, sal_Int32 nOrder ) THROWDEF_RTE_IAE_NCE; 145cdf0e10cSrcweir virtual double SAL_CALL getBesselk( double fNum, sal_Int32 nOrder ) THROWDEF_RTE_IAE_NCE; 146cdf0e10cSrcweir virtual double SAL_CALL getBessely( double fNum, sal_Int32 nOrder ) THROWDEF_RTE_IAE_NCE; 147cdf0e10cSrcweir 148cdf0e10cSrcweir virtual STRING SAL_CALL getBin2Oct( constREFXPS& xOpt, const STRING& aNum, const ANY& rPlaces ) THROWDEF_RTE_IAE; 149cdf0e10cSrcweir virtual double SAL_CALL getBin2Dec( const STRING& aNum ) THROWDEF_RTE_IAE; 150cdf0e10cSrcweir virtual STRING SAL_CALL getBin2Hex( constREFXPS& xOpt, const STRING& aNum, const ANY& rPlaces ) THROWDEF_RTE_IAE; 151cdf0e10cSrcweir 152cdf0e10cSrcweir virtual STRING SAL_CALL getOct2Bin( constREFXPS& xOpt, const STRING& aNum, const ANY& rPlaces ) THROWDEF_RTE_IAE; 153cdf0e10cSrcweir virtual double SAL_CALL getOct2Dec( const STRING& aNum ) THROWDEF_RTE_IAE; 154cdf0e10cSrcweir virtual STRING SAL_CALL getOct2Hex( constREFXPS& xOpt, const STRING& aNum, const ANY& rPlaces ) THROWDEF_RTE_IAE; 155cdf0e10cSrcweir 156cdf0e10cSrcweir virtual STRING SAL_CALL getDec2Bin( constREFXPS& xOpt, sal_Int32 fNum, const ANY& rPlaces ) THROWDEF_RTE_IAE; 157cdf0e10cSrcweir virtual STRING SAL_CALL getDec2Oct( constREFXPS& xOpt, sal_Int32 fNum, const ANY& rPlaces ) THROWDEF_RTE_IAE; 158cdf0e10cSrcweir virtual STRING SAL_CALL getDec2Hex( constREFXPS& xOpt, double fNum, const ANY& rPlaces ) THROWDEF_RTE_IAE; 159cdf0e10cSrcweir 160cdf0e10cSrcweir virtual STRING SAL_CALL getHex2Bin( constREFXPS& xOpt, const STRING& aNum, const ANY& rPlaces ) THROWDEF_RTE_IAE; 161cdf0e10cSrcweir virtual double SAL_CALL getHex2Dec( const STRING& aNum ) THROWDEF_RTE_IAE; 162cdf0e10cSrcweir virtual STRING SAL_CALL getHex2Oct( constREFXPS& xOpt, const STRING& aNum, const ANY& rPlaces ) THROWDEF_RTE_IAE; 163cdf0e10cSrcweir 164cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getDelta( constREFXPS& xOpt, double fNum1, const ANY& rNum2 ) THROWDEF_RTE_IAE; 165cdf0e10cSrcweir 166cdf0e10cSrcweir virtual double SAL_CALL getErf( constREFXPS& xOpt, double fLowerLimit, const ANY& rUpperLimit ) THROWDEF_RTE_IAE; 167cdf0e10cSrcweir virtual double SAL_CALL getErfc( double fLowerLimit ) THROWDEF_RTE_IAE; 168cdf0e10cSrcweir 169cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getGestep( constREFXPS& xOpt, double fNum, const ANY& rStep ) THROWDEF_RTE_IAE; 170cdf0e10cSrcweir 171cdf0e10cSrcweir virtual double SAL_CALL getFactdouble( sal_Int32 nNum ) THROWDEF_RTE_IAE; 172cdf0e10cSrcweir 173cdf0e10cSrcweir virtual double SAL_CALL getImabs( const STRING& aNum ) THROWDEF_RTE_IAE; 174cdf0e10cSrcweir virtual double SAL_CALL getImaginary( const STRING& aNum ) THROWDEF_RTE_IAE; 175cdf0e10cSrcweir virtual STRING SAL_CALL getImpower( const STRING& aNum, double fPower ) THROWDEF_RTE_IAE; 176cdf0e10cSrcweir virtual double SAL_CALL getImargument( const STRING& aNum ) THROWDEF_RTE_IAE; 177cdf0e10cSrcweir virtual STRING SAL_CALL getImcos( const STRING& aNum ) THROWDEF_RTE_IAE; 178cdf0e10cSrcweir virtual STRING SAL_CALL getImdiv( const STRING& aDivident, const STRING& aDivisor ) THROWDEF_RTE_IAE; 179cdf0e10cSrcweir virtual STRING SAL_CALL getImexp( const STRING& aNum ) THROWDEF_RTE_IAE; 180cdf0e10cSrcweir virtual STRING SAL_CALL getImconjugate( const STRING& aNum ) THROWDEF_RTE_IAE; 181cdf0e10cSrcweir virtual STRING SAL_CALL getImln( const STRING& aNum ) THROWDEF_RTE_IAE; 182cdf0e10cSrcweir virtual STRING SAL_CALL getImlog10( const STRING& aNum ) THROWDEF_RTE_IAE; 183cdf0e10cSrcweir virtual STRING SAL_CALL getImlog2( const STRING& aNum ) THROWDEF_RTE_IAE; 184cdf0e10cSrcweir virtual STRING SAL_CALL getImproduct( constREFXPS& xOpt, const SEQSEQ( STRING )& aNum1, const SEQ_ANY& aNumList ) THROWDEF_RTE_IAE; 185cdf0e10cSrcweir virtual double SAL_CALL getImreal( const STRING& aNum ) THROWDEF_RTE_IAE; 186cdf0e10cSrcweir virtual STRING SAL_CALL getImsin( const STRING& aNum ) THROWDEF_RTE_IAE; 187cdf0e10cSrcweir virtual STRING SAL_CALL getImsub( const STRING& aNum1, const STRING& aNum2 ) THROWDEF_RTE_IAE; 188cdf0e10cSrcweir virtual STRING SAL_CALL getImsum( constREFXPS& xOpt, const SEQSEQ( STRING )& aNum1, const SEQ( ANY )& aFollowingPars ) THROWDEF_RTE_IAE; 189cdf0e10cSrcweir 190cdf0e10cSrcweir virtual STRING SAL_CALL getImsqrt( const STRING& aNum ) THROWDEF_RTE_IAE; 191cdf0e10cSrcweir virtual STRING SAL_CALL getComplex( double fReal, double fImaginary, const ANY& rSuffix ) THROWDEF_RTE_IAE; 192cdf0e10cSrcweir 193cdf0e10cSrcweir virtual double SAL_CALL getConvert( double fVal, const STRING& aFromUnit, const STRING& aToUnit ) THROWDEF_RTE_IAE; 194cdf0e10cSrcweir 195cdf0e10cSrcweir virtual double SAL_CALL getAmordegrc( constREFXPS&, double fCost, sal_Int32 nDate, sal_Int32 nFirstPer, double fRestVal, double fPer, double fRate, const ANY& rOptBase ) THROWDEF_RTE_IAE; 196cdf0e10cSrcweir virtual double SAL_CALL getAmorlinc( constREFXPS&, double fCost, sal_Int32 nDate, sal_Int32 nFirstPer, double fRestVal, double fPer, double fRate, const ANY& rOptBase ) THROWDEF_RTE_IAE; 197cdf0e10cSrcweir virtual double SAL_CALL getAccrint( constREFXPS& xOpt, sal_Int32 nIssue, sal_Int32 nFirstInter, sal_Int32 nSettle, double fRate, const ANY& rVal, sal_Int32 nFreq, const ANY& rOptBase ) THROWDEF_RTE_IAE; 198cdf0e10cSrcweir virtual double SAL_CALL getAccrintm( constREFXPS& xOpt, sal_Int32 nIssue, sal_Int32 nSettle, double fRate, const ANY& rVal, const ANY& rOptBase ) THROWDEF_RTE_IAE; 199cdf0e10cSrcweir virtual double SAL_CALL getReceived( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, double fInvest, double fDisc, const ANY& rOptBase ) THROWDEF_RTE_IAE; 200cdf0e10cSrcweir virtual double SAL_CALL getDisc( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, double fPrice, double fRedemp, const ANY& rOptBase ) THROWDEF_RTE_IAE; 201cdf0e10cSrcweir virtual double SAL_CALL getDuration( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, double fCoup, double fYield, sal_Int32 nFreq, const ANY& rOptBase ) THROWDEF_RTE_IAE; 202cdf0e10cSrcweir virtual double SAL_CALL getEffect( double fNominal, sal_Int32 nPeriods ) THROWDEF_RTE_IAE; 203cdf0e10cSrcweir virtual double SAL_CALL getCumprinc( double fRate, sal_Int32 nNumPeriods, double fVal, sal_Int32 nStartPer, sal_Int32 nEndPer, sal_Int32 nPayType ) THROWDEF_RTE_IAE; 204cdf0e10cSrcweir virtual double SAL_CALL getCumipmt( double fRate, sal_Int32 nNumPeriods, double fVal, sal_Int32 nStartPer, sal_Int32 nEndPer, sal_Int32 nPayType ) THROWDEF_RTE_IAE; 205cdf0e10cSrcweir virtual double SAL_CALL getPrice( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, double fRate, double fYield, double fRedemp, sal_Int32 nFreq, const ANY& rOptBase ) THROWDEF_RTE_IAE; 206cdf0e10cSrcweir virtual double SAL_CALL getPricedisc( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, double fDisc, double fRedemp, const ANY& rOptBase ) THROWDEF_RTE_IAE; 207cdf0e10cSrcweir virtual double SAL_CALL getPricemat( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, sal_Int32 nIssue, double fRate, double fYield, const ANY& rOptBase ) THROWDEF_RTE_IAE; 208cdf0e10cSrcweir virtual double SAL_CALL getMduration( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, double fCoup, double fYield, sal_Int32 nFreq, const ANY& rOptBase ) THROWDEF_RTE_IAE; 209cdf0e10cSrcweir virtual double SAL_CALL getNominal( double fRate, sal_Int32 nPeriods ) THROWDEF_RTE_IAE; 210cdf0e10cSrcweir virtual double SAL_CALL getDollarfr( double fDollarDec, sal_Int32 nFrac ) THROWDEF_RTE_IAE; 211cdf0e10cSrcweir virtual double SAL_CALL getDollarde( double fDollarFrac, sal_Int32 nFrac ) THROWDEF_RTE_IAE; 212cdf0e10cSrcweir virtual double SAL_CALL getYield( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, double fCoup, double fPrice, double fRedemp, sal_Int32 nFreq, const ANY& rOptBase ) THROWDEF_RTE_IAE; 213cdf0e10cSrcweir virtual double SAL_CALL getYielddisc( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, double fPrice, double fRedemp, const ANY& rOptBase ) THROWDEF_RTE_IAE; 214cdf0e10cSrcweir virtual double SAL_CALL getYieldmat( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, sal_Int32 nIssue, double fRate, double fPrice, const ANY& rOptBase ) THROWDEF_RTE_IAE; 215cdf0e10cSrcweir virtual double SAL_CALL getTbilleq( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, double fDisc ) THROWDEF_RTE_IAE; 216cdf0e10cSrcweir virtual double SAL_CALL getTbillprice( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, double fDisc ) THROWDEF_RTE_IAE; 217cdf0e10cSrcweir virtual double SAL_CALL getTbillyield( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, double fPrice ) THROWDEF_RTE_IAE; 218cdf0e10cSrcweir virtual double SAL_CALL getOddfprice( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, sal_Int32 nIssue, sal_Int32 nFirstCoup, double fRate, double fYield, double fRedemp, sal_Int32 nFreq, const ANY& rOptBase ) THROWDEF_RTE_IAE; 219cdf0e10cSrcweir virtual double SAL_CALL getOddfyield( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, sal_Int32 nIssue, sal_Int32 nFirstCoup, double fRate, double fPrice, double fRedemp, sal_Int32 nFreq, const ANY& rOptBase ) THROWDEF_RTE_IAE; 220cdf0e10cSrcweir virtual double SAL_CALL getOddlprice( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, sal_Int32 nLastInterest, double fRate, double fYield, double fRedemp, sal_Int32 nFreq, const ANY& rOptBase ) THROWDEF_RTE_IAE; 221cdf0e10cSrcweir virtual double SAL_CALL getOddlyield( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, sal_Int32 nLastInterest, double fRate, double fPrice, double fRedemp, sal_Int32 nFreq, const ANY& rOptBase) THROWDEF_RTE_IAE; 222cdf0e10cSrcweir virtual double SAL_CALL getXirr( constREFXPS& xOpt, const SEQSEQ( double )& rValues, const SEQSEQ( sal_Int32 )& rDates, const ANY& rGuess ) THROWDEF_RTE_IAE; 223cdf0e10cSrcweir virtual double SAL_CALL getXnpv( double fRate, const SEQSEQ( double )& rValues, const SEQSEQ( sal_Int32 )& rDates ) THROWDEF_RTE_IAE; 224cdf0e10cSrcweir virtual double SAL_CALL getIntrate( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, double fInvest, double fRedemp, const ANY& rOptBase ) THROWDEF_RTE_IAE; 225cdf0e10cSrcweir virtual double SAL_CALL getCoupncd( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, sal_Int32 nFreq, const ANY& rOptBase ) THROWDEF_RTE_IAE; 226cdf0e10cSrcweir virtual double SAL_CALL getCoupdays( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, sal_Int32 nFreq, const ANY& rOptBase ) THROWDEF_RTE_IAE; 227cdf0e10cSrcweir virtual double SAL_CALL getCoupdaysnc( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, sal_Int32 nFreq, const ANY& rOptBase ) THROWDEF_RTE_IAE; 228cdf0e10cSrcweir virtual double SAL_CALL getCoupdaybs( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, sal_Int32 nFreq, const ANY& rOptBase ) THROWDEF_RTE_IAE; 229cdf0e10cSrcweir virtual double SAL_CALL getCouppcd( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, sal_Int32 nFreq, const ANY& rOptBase ) THROWDEF_RTE_IAE; 230cdf0e10cSrcweir virtual double SAL_CALL getCoupnum( constREFXPS& xOpt, sal_Int32 nSettle, sal_Int32 nMat, sal_Int32 nFreq, const ANY& rOptBase ) THROWDEF_RTE_IAE; 231cdf0e10cSrcweir virtual double SAL_CALL getFvschedule( double fPrinc, const SEQSEQ( double )& rSchedule ) THROWDEF_RTE_IAE; 232cdf0e10cSrcweir }; 233cdf0e10cSrcweir 234cdf0e10cSrcweir //------------------------------------------------------------------ 235cdf0e10cSrcweir 236cdf0e10cSrcweir #endif 237cdf0e10cSrcweir 238