aboutsummaryrefslogtreecommitdiff
path: root/source/id/vcl
ModeNameSize
d---------qa / cppunit34logplain
d---------source69logplain
d---------uiconfig33logplain
hack'>feature/slidehack LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/sc/source/core/data/columnspanset.cxx
AgeCommit message (Collapse)Author
2024-04-02tdf#146619 Remove unused #includes from C/C++ filesRafał Dobrakowski
'sc' module was cleaned. Change-Id: Ia491d741a4c1c5314f35ebb4baa82dd516948ae7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165699 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2023-03-03tdf#148143: Reset the position hint when flat_segment_tree gets copiedKohei Yoshida
std::optional stores the wrapped object as part of its memory footprint, and when it gets copied, it copy-constructs the wrapped object too. We need to be aware of this when using std::optional inside std::vector which may reallocate its internal buffer and copy the stored elements. Change-Id: Ib8fab1295388ae2ee9ef3d044943ac3c2bc8e529 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148152 Tested-by: Jenkins Reviewed-by: Kohei Yoshida <kohei@libreoffice.org>
2022-03-05don't bother scanning nonexistent data (tdf#141182)Luboš Luňák
There's no point scanning for non-empty cells after the last data cell, and this avoids processing mdds structures (such as repeated creating of flat_segment_tree). Change-Id: Ibec324aa2de457e8439c38a561f55ced9f478899 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131059 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-16clamp ColumnSpanSet::executeAction() to allocated columnsLuboš Luňák
It's already done by executeColumnAction() and currently existing actions do not need unallocated columns. This prevents allocating all columns e.g. when selecting a full row just because ScDocument::GetRangeScriptType() gets called. Change-Id: I517ce14a756be83a385968549b32d430274b8002 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129993 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-07-21flatten TableType in ColumnSpanSetNoel Grandin
Change-Id: I66c8a1ac022da0f64dc16fdda364da6402d3db30 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119307 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-21flatten maTables in ColumnSpanSetNoel Grandin
Change-Id: Ic32e0aa40cd678a7b0b28a7a6d7478250b3b7b3e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119306 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-28tdf#137679 Use Kahan summation for scmatrix operationsdante
May also want implement Kahan sum in there: sc/source/core/tool/arraysumSSE2.cxx sc/source/core/inc/arraysumfunctor.hxx Under some conditions the sum of a pointer type vector may be perforemed by arraysumfunctor on NumericCellAccumulator. arraysumSSE2 implements part of it. This code has been left unmodified. Why the test has been modified: The error was: 238.89000000000001 != 238.89 | 17 th digit IEEE 754 double-precision has 53 log10(2) ≈ 15.955 digits. So it's just noise. Change-Id: I6f84826bf3875be4f444f5eb61854bc1f95769bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114627 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2020-09-09sc: rowcol: convert more use of MAXROWCOUNTNoel Grandin
this is part of the very large(jumbo) sheet work Change-Id: Ia5c1246e908d3c81d7ec7eff39a3580d5362969c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94889 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-12Revert "loplugin:constfields in sc"Noel Grandin
This reverts commit fb1d3b580763a333bbbfe115d09e1b5cd8849675. Now that we know that making fields has negative side effects like disabling assignment operator generation. Change-Id: Ib48334ffbeb2c768896dd8ced6818aa0b9910b0b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90333 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-03loplugin:constantparamNoel Grandin
Change-Id: If2dee122bf07dc179fd8f6e766442ec1891a5f3d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87845 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-28New loplugin:unsignedcompareStephan Bergmann
"Find explicit casts from signed to unsigned integer in comparison against unsigned integer, where the cast is presumably used to avoid warnings about signed vs. unsigned comparisons, and could thus be replaced with o3tl::make_unsigned for clairty." (compilerplugins/clang/unsignedcompare.cxx) o3tl::make_unsigned requires its argument to be non-negative, and there is a chance that some original code like static_cast<sal_uInt32>(n) >= c used the explicit cast to actually force a (potentially negative) value of sal_Int32 to be interpreted as an unsigned sal_uInt32, rather than using the cast to avoid a false "signed vs. unsigned comparison" warning in a case where n is known to be non-negative. It appears that restricting this plugin to non- equality comparisons (<, >, <=, >=) and excluding equality comparisons (==, !=) is a useful heuristic to avoid such false positives. The only remainging false positive I found was 0288c8ffecff4956a52b9147d441979941e8b87f "Rephrase cast from sal_Int32 to sal_uInt32". But which of course does not mean that there were no further false positivies that I missed. So this commit may accidentally introduce some false hits of the assert in o3tl::make_unsigned. At least, it passed a full (Linux ASan+UBSan --enable-dbgutil) `make check && make screenshot`. It is by design that o3tl::make_unsigned only accepts signed integer parameter types (and is not defined as a nop for unsigned ones), to avoid unnecessary uses which would in general be suspicious. But the STATIC_ARRAY_SELECT macro in include/oox/helper/helper.hxx is used with both signed and unsigned types, so needs a little oox::detail::make_unsigned helper function for now. (The ultimate fix being to get rid of the macro in the first place.) Change-Id: Ia4adc9f44c70ad1dfd608784cac39ee922c32175 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87556 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-13sc: rowcol: tdf#50916 pass ScDocument* around in data/Noel Grandin
Change-Id: Ifa99d1c8d593e2a5dd81a3aaf4cd702d3ba96b89 Reviewed-on: https://gerrit.libreoffice.org/85060 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-24sc: rowcol: tdf#50916 convert column*Noel Grandin
Change-Id: I6ed03ba9c8e1ae9f6837730fd5579f83198dc7b1 Reviewed-on: https://gerrit.libreoffice.org/81440 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-12crashtesting: failure on import of gnome545630-1.xlsxCaolán McNamara
since... commit 7282014e362a1529a36c88eb308df8ed359c2cfa Date: Fri Feb 1 15:15:16 2019 +0100 tdf#50916 Makes numbers of columns dynamic Change-Id: Ib42b770282753350b9c4016fe7c9f57f68e6c209 Reviewed-on: https://gerrit.libreoffice.org/70603 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-04-05tdf#50916 Makes numbers of columns dynamic.Noel Grandin
With this commit we are making numbers of columns dynamic, but the number of maximum supported columns will be the same (1024). Such approach will allow us to check issues (eg. performance, LO format etc.), and improve it. Increasing number of maximum columns, will be done in separate commit. Change-Id: Ibac4101e9ffc05e3548eca1c198f6319ac7ff9aa Reviewed-on: https://gerrit.libreoffice.org/44802 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2019-02-09Simplify containers iterations in sc/source/core/data/[b-d].cxxArkadiy Illarionov
Use range-based loop or replace with STL functions Change-Id: Ifb3c6a2fdcd32122a6fd371191b058117015c3ed Reviewed-on: https://gerrit.libreoffice.org/67588 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-15loplugin:unusedmethodsNoel Grandin
Change-Id: I0226d33cbe224519cf2ed9ea5143ffe68fdbc884 Reviewed-on: https://gerrit.libreoffice.org/61775 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-15loplugin:constfields in scNoel Grandin
Change-Id: If326175d571d15752efd1b63df45b2bc785f7541 Reviewed-on: https://gerrit.libreoffice.org/61653 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-10ColumnSpanSet variant optimized for just one ScRangeLuboš Luňák
Since ScInterpreter::IterateParameters() iterates over just one range, there's no point to to set flags for that range and then generically walk over that range, just directly use the range. Change-Id: I13003eb09bd98f145e9ead5e485596168d9399cb Reviewed-on: https://gerrit.libreoffice.org/60866 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2018-06-13loplugin:useuniqueptr in ColumnSpanSetNoel Grandin
Change-Id: Ic33454aa64116e1258362df1bd0ff3ddb05745af Reviewed-on: https://gerrit.libreoffice.org/55734 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-10don't use heap for elements in ScRangeListNoel Grandin
no need to store small objects like this out of line. Also - add move constructor and move assignment operator - drop Assign method since it now has the same signature as push_back Change-Id: I9a8647d3a11f24166a83d399a358a2bce3b2cb79 Reviewed-on: https://gerrit.libreoffice.org/50899 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2017-10-23loplugin:includeform: scStephan Bergmann
Change-Id: I2ed763e0584a188032c80fde60890de3c6985cbd