28#include <rtl/math.hxx>
43 nRes =
p->nChar;
break;
45 nRes =
p->nByte;
break;
48 nRes =
p->nInteger;
break;
56 nRes =
static_cast<sal_Int16
>(
p->nUShort);
68 nRes =
static_cast<sal_Int16
>(
p->nLong);
76 nRes =
static_cast<sal_Int16
>(
p->nULong);
94 nRes =
static_cast<sal_Int16
>(tstVal);
107 nRes =
static_cast<sal_Int16
>(
p->nInt64);
115 nRes =
static_cast<sal_Int16
>(
p->uInt64);
126 p->pDecimal->getDouble( dVal );
162 nRes = *
p->pChar;
break;
164 nRes = *
p->pByte;
break;
167 nRes = *
p->pInteger;
break;
171 aTmp.
nLong = *
p->pLong;
goto ref;
173 aTmp.
nULong = *
p->pULong;
goto ref;
176 aTmp.
nUShort = *
p->pUShort;
goto ref;
178 aTmp.
nSingle = *
p->pSingle;
goto ref;
181 aTmp.
nDouble = *
p->pDouble;
goto ref;
184 aTmp.
nInt64 = *
p->pnInt64;
goto ref;
186 aTmp.
uInt64 = *
p->puInt64;
goto ref;
205 aTmp.
pChar = &
p->nChar;
goto direct;
207 aTmp.
pByte = &
p->nByte;
goto direct;
209 aTmp.
pULong = &
p->nULong;
goto direct;
212 aTmp.
pUShort = &
p->nUShort;
goto direct;
214 aTmp.
puInt64 = &
p->uInt64;
goto direct;
222 p->nInteger =
n;
break;
226 p->nSingle =
n;
break;
229 p->nDouble =
n;
break;
233 p->nInt64 =
n;
break;
243 p->pOUString =
new OUString;
244 ImpCvtNum(
static_cast<double>(
n), 0, *
p->pOUString );
260 *
p->pChar =
static_cast<char>(
n);
break;
273 *
p->pInteger =
n;
break;
280 *
p->pUShort =
static_cast<sal_uInt16
>(
n);
break;
282 *
p->pLong =
static_cast<sal_Int32
>(
n);
break;
288 *
p->pULong =
static_cast<sal_uInt32
>(
n);
break;
292 *
p->pnInt64 =
n;
break;
303 *
p->pSingle =
static_cast<float>(
n);
break;
306 *
p->pDouble =
static_cast<double>(
n);
break;
322 d =
static_cast<double>(
static_cast<sal_Int64
>(
n));
340 nRes =
p->nChar;
break;
342 nRes =
p->nByte;
break;
345 nRes =
p->nInteger;
break;
348 nRes =
static_cast<sal_Int64
>(
p->nUShort);
break;
350 nRes =
static_cast<sal_Int64
>(
p->nLong);
break;
352 nRes =
static_cast<sal_Int64
>(
p->nULong);
break;
363 nRes =
p->nInt64;
break;
370 nRes =
static_cast<sal_Int64
>(
p->uInt64);
380 nRes =
p->pOUString->toInt64();
406 nRes = *
p->pChar;
break;
408 nRes = *
p->pByte;
break;
411 nRes = *
p->pInteger;
break;
413 nRes = *
p->pLong;
break;
415 nRes = *
p->pULong;
break;
419 nRes = *
p->pnInt64;
break;
423 aTmp.
uInt64 = *
p->puInt64;
goto ref;
427 aTmp.
nUShort = *
p->pUShort;
goto ref;
429 aTmp.
nSingle = *
p->pSingle;
goto ref;
432 aTmp.
nDouble = *
p->pDouble;
goto ref;
452 aTmp.
pChar = &
p->nChar;
goto direct;
454 aTmp.
pByte = &
p->nByte;
goto direct;
457 aTmp.
pInteger = &
p->nInteger;
goto direct;
459 aTmp.
pULong = &
p->nULong;
goto direct;
462 aTmp.
pUShort = &
p->nUShort;
goto direct;
464 aTmp.
pnInt64 = &
p->nInt64;
goto direct;
467 aTmp.
pnInt64 = &
p->nInt64;
goto direct;
469 aTmp.
puInt64 = &
p->uInt64;
goto direct;
476 p->nSingle =
static_cast<float>(
n);
break;
479 p->nDouble =
static_cast<double>(
n);
break;
486 p->pOUString =
new OUString;
488 (*
p->pOUString) = OUString::number(
n);
530 *
p->pInteger =
static_cast<sal_Int16
>(
n);
break;
541 *
p->pUShort =
static_cast<sal_uInt16
>(
n);
break;
551 *
p->pLong =
static_cast<sal_Int32
>(
n);
break;
561 *
p->pULong =
static_cast<sal_uInt32
>(
n);
break;
563 *
p->pSingle =
static_cast<float>(
n);
break;
566 *
p->pDouble =
static_cast<double>(
n);
break;
570 *
p->pnInt64 =
n;
break;
576 *
p->puInt64 =
n;
break;
596 nRes =
p->nChar;
break;
598 nRes =
p->nByte;
break;
601 nRes =
p->nInteger;
break;
604 nRes =
p->nUShort;
break;
606 nRes =
p->nLong;
break;
608 nRes =
static_cast<sal_uInt64
>(
p->nULong);
break;
623 nRes =
static_cast<sal_uInt64
>(
p->nInt64);
626 nRes =
p->uInt64;
break;
635 nRes =
p->pOUString->toUInt64();
661 nRes = *
p->pChar;
break;
663 nRes = *
p->pByte;
break;
666 nRes = *
p->pInteger;
break;
668 nRes = *
p->pLong;
break;
670 nRes = *
p->pULong;
break;
672 nRes = *
p->puInt64;
break;
677 aTmp.
nUShort = *
p->pUShort;
goto ref;
679 aTmp.
nSingle = *
p->pSingle;
goto ref;
682 aTmp.
nDouble = *
p->pDouble;
goto ref;
685 aTmp.
nInt64 = *
p->pnInt64;
goto ref;
705 aTmp.
pChar = &
p->nChar;
goto direct;
707 aTmp.
pByte = &
p->nByte;
goto direct;
710 aTmp.
pInteger = &
p->nInteger;
goto direct;
712 aTmp.
pULong = &
p->nULong;
goto direct;
715 aTmp.
pUShort = &
p->nUShort;
goto direct;
717 aTmp.
pnInt64 = &
p->nInt64;
goto direct;
720 aTmp.
pnInt64 = &
p->nInt64;
goto direct;
722 aTmp.
pSingle = &
p->nSingle;
goto direct;
725 aTmp.
pDouble = &
p->nDouble;
goto direct;
733 p->uInt64 =
n;
break;
739 p->pOUString =
new OUString;
744 (*
p->pOUString) = OUString::number(
n);
774 *
p->pInteger =
static_cast<sal_Int16
>(
n);
break;
781 *
p->pUShort =
static_cast<sal_uInt16
>(
n);
break;
787 *
p->pLong =
static_cast<sal_Int32
>(
n);
break;
793 *
p->pULong =
static_cast<sal_uInt32
>(
n);
break;
808 *
p->puInt64 =
n;
break;
814 *
p->pnInt64 =
static_cast<sal_Int64
>(
n);
break;
static void SetError(ErrCode)
sal_uInt64 GetUInt64() const
bool PutInteger(sal_Int16)
sal_Int64 GetInt64() const
sal_Int16 GetInteger() const
bool PutUInt64(sal_uInt64)
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
bool LibreOffice6FloatingPointMode()
#define ERRCODE_BASIC_NO_OBJECT
#define ERRCODE_BASIC_MATH_OVERFLOW
#define ERRCODE_BASIC_CONVERSION
auto ImpDoubleToInteger(double f)
auto ImpDoubleToSalUInt64(double d)
ErrCode ImpScan(const OUString &rSrc, double &nVal, SbxDataType &rType, sal_uInt16 *pLen, bool bOnlyIntntl)
auto ImpDoubleToSalInt64(double d)
SbxDecimal * ImpCreateDecimal(SbxValues *p)
void ImpCvtNum(double nNum, short nPrec, OUString &rRes, bool bCoreString=false)
constexpr sal_uInt32 SbxMAXULNG
constexpr sal_Int32 SbxMINLNG
constexpr auto SbxMAXCHAR
constexpr sal_uInt16 SbxMAXUINT
constexpr auto SbxMINCHAR
constexpr auto CURRENCY_FACTOR
constexpr auto SbxMAXBYTE
void ImpPutInt64(SbxValues *p, sal_Int64 n)
void ImpPutUInt64(SbxValues *p, sal_uInt64 n)
sal_uInt64 ImpGetUInt64(const SbxValues *p)
sal_Int16 ImpGetInteger(const SbxValues *p)
double ImpSalUInt64ToDouble(sal_uInt64 n)
void ImpPutInteger(SbxValues *p, sal_Int16 n)
sal_Int64 ImpGetInt64(const SbxValues *p)