From 556a61a2f86fef1f828b8352fae7a4c4ed1fdd78 Mon Sep 17 00:00:00 2001 From: August Sodora Date: Thu, 20 Oct 2011 23:08:45 -0400 Subject: Added Frac function to calc formulas and BASIC standard library --- basic/source/runtime/methods1.cxx | 20 ++++++++++++++++++++ basic/source/runtime/rtlproto.hxx | 1 + basic/source/runtime/stdobj.cxx | 2 ++ 3 files changed, 23 insertions(+) (limited to 'basic') diff --git a/basic/source/runtime/methods1.cxx b/basic/source/runtime/methods1.cxx index f54ff7baea4f..8802245b6498 100644 --- a/basic/source/runtime/methods1.cxx +++ b/basic/source/runtime/methods1.cxx @@ -2531,6 +2531,26 @@ RTLFUNC(FormatDateTime) rPar.Get(0)->PutString( aRetStr ); } +RTLFUNC(Frac) +{ + (void)pBasic; + (void)bWrite; + + sal_uInt16 nParCount = rPar.Count(); + if( nParCount != 2) + { + StarBASIC::Error( SbERR_BAD_ARGUMENT ); + return; + } + + SbxVariable *pSbxVariable = rPar.Get(1); + double dVal = pSbxVariable->GetDouble(); + if(dVal >= 0) + rPar.Get(0)->PutDouble(dVal - ::rtl::math::approxFloor(dVal)); + else + rPar.Get(0)->PutDouble(dVal - ::rtl::math::approxCeil(dVal)); +} + RTLFUNC(Round) { (void)pBasic; diff --git a/basic/source/runtime/rtlproto.hxx b/basic/source/runtime/rtlproto.hxx index 469cd0f0afe6..101c320bfb2a 100644 --- a/basic/source/runtime/rtlproto.hxx +++ b/basic/source/runtime/rtlproto.hxx @@ -250,6 +250,7 @@ extern RTLFUNC(Format); extern RTLFUNC(GetAttr); extern RTLFUNC(Randomize); // JSM extern RTLFUNC(Round); +extern RTLFUNC(Frac); extern RTLFUNC(Rnd); extern RTLFUNC(Shell); extern RTLFUNC(VarType); diff --git a/basic/source/runtime/stdobj.cxx b/basic/source/runtime/stdobj.cxx index 72ec66a88351..f384784cffef 100644 --- a/basic/source/runtime/stdobj.cxx +++ b/basic/source/runtime/stdobj.cxx @@ -295,6 +295,8 @@ static Methods aMethods[] = { { "FormatDateTime", SbxSTRING, 2 | _FUNCTION | _COMPATONLY, RTLNAME(FormatDateTime),0 }, { "Date", SbxDATE, 0,NULL,0 }, { "NamedFormat", SbxINTEGER, _OPT, NULL,0 }, +{ "Frac", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(Frac),0 }, + { "number", SbxDOUBLE, 0,NULL,0 }, { "FRAMEANCHORCHAR", SbxINTEGER, _CPROP, RTLNAME(FRAMEANCHORCHAR),0 }, { "FRAMEANCHORPAGE", SbxINTEGER, _CPROP, RTLNAME(FRAMEANCHORPAGE),0 }, { "FRAMEANCHORPARA", SbxINTEGER, _CPROP, RTLNAME(FRAMEANCHORPARA),0 }, -- cgit 22.05'>distro/collabora/co-22.05 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/sal
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-11-27 20:44:51 +0000
committerCaolán McNamara <caolanm@redhat.com>2012-11-27 20:45:32 +0000
commit47b78e10c1510a86c509eaf190b8d6df1d160f15 (patch)
tree80a31b3d02fd1ee039968c174e66c876e345ec75 /sal
parentad2eedc8eb9d2a6f2dd22a66290acbd0e755a73e (diff)
add dependency on sal_textenc dlopened lib