summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2020-12-24 14:23:34 +0100
committerStephan Bergmann <sbergman@redhat.com>2020-12-24 22:48:15 +0100
commitad9e04321df25824d2288a2ef1f4275f070f1cf7 (patch)
tree5f2e7f78c0f887b1583f2b531a298b53ba59c82c /tools
parent44a04f68e88da833707bc829242351f349278732 (diff)
Revert "add sal*Int64 conversions to BigInt"
This reverts commit 5dae4238ea6e21df42f4437a43d152954fc494fd, which appears to have ambiguitiy problems not only on Windows, but generally with 32-bit builds like <https://ci.libreoffice.org/job/gerrit_android_x86/1518/>: > /home/tdf/lode/jenkins/workspace/android_x86/tools/source/generic/bigint.cxx:501:18: error: conversion from 'int' to 'const BigInt' is ambiguous > *this *= 10; > ^~ > /home/tdf/lode/jenkins/workspace/android_x86/include/tools/bigint.hxx:58:5: note: candidate constructor > BigInt(sal_Int32 nValue) > ^ > /home/tdf/lode/jenkins/workspace/android_x86/include/tools/bigint.hxx:66:5: note: candidate constructor > BigInt( double nVal ); > ^ > /home/tdf/lode/jenkins/workspace/android_x86/include/tools/bigint.hxx:67:5: note: candidate constructor > BigInt( sal_uInt32 nVal ); > ^ > /home/tdf/lode/jenkins/workspace/android_x86/include/tools/bigint.hxx:68:5: note: candidate constructor > BigInt( sal_Int64 nVal ); > ^ > /home/tdf/lode/jenkins/workspace/android_x86/include/tools/bigint.hxx:69:5: note: candidate constructor > BigInt( sal_uInt64 nVal ); > ^ Change-Id: I674b14c342ece3e170185b7ce2f34ccb8ff91c7a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108186 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/source/generic/bigint.cxx77
1 files changed, 0 insertions, 77 deletions
diff --git a/tools/source/generic/bigint.cxx b/tools/source/generic/bigint.cxx
index 1239868b1432..62350a30c311 100644
--- a/tools/source/generic/bigint.cxx
+++ b/tools/source/generic/bigint.cxx
@@ -594,83 +594,6 @@ BigInt::BigInt( sal_Int64 nValue )
}
}
-BigInt::BigInt( sal_uInt64 nValue )
- : nVal(0)
-{
- bIsNeg = false;
- nLen = 0;
-
- if (nValue <= SAL_MAX_INT32)
- {
- bIsBig = false;
- nVal = static_cast<sal_Int32>(nValue);
- }
- else
- {
- bIsBig = true;
- for (int i = 0; (i != sizeof(sal_uInt64) / 2) && (nValue != 0); ++i)
- {
- nNum[i] = static_cast<sal_uInt16>(nValue & 0xffffUL);
- nValue = nValue >> 16;
- ++nLen;
- }
- }
-}
-
-BigInt::operator sal_uInt32() const
-{
- if ( !bIsBig )
- {
- assert(nVal >= 0 && "out of range");
- return static_cast<sal_uInt32>(nVal);
- }
- else
- {
- assert(nLen <= 2 && "out of range");
- assert(!bIsNeg && "out of range");
-
- int i = nLen-1;
- sal_uInt32 nRet = nNum[i];
-
- while ( i )
- {
- nRet = nRet << 16;
- i--;
- nRet |= nNum[i];
- }
-
- return nRet;
- }
-}
-
-BigInt::operator sal_Int64() const
-{
- if ( !bIsBig )
- {
- return nVal;
- }
- else
- {
- assert(nLen <= 4 && "out of range");
- assert((nLen < 4 || nNum[4] <= SAL_MAX_INT16) && "out of range");
-
- int i = nLen-1;
- sal_Int64 nRet = nNum[i];
-
- while ( i )
- {
- nRet = nRet << 16;
- i--;
- nRet |= nNum[i];
- }
-
- if ( bIsNeg )
- nRet *= -1;
-
- return nRet;
- }
-}
-
BigInt::operator double() const
{
if ( !bIsBig )