summaryrefslogtreecommitdiff
path: root/sc/inc/calcconfig.hxx
AgeCommit message (Collapse)Author
2015-12-01sc interpreter: Don't hide S/W Interpreter behind an environment variable.Jan Holesovsky
Instead provide a user setting that can be enabled so that the S/W Interpreter is used on a subset of the operations. The operations for which it is used are controlled by a whitelist in ScCalcConfig::setOpenCLConfigToDefault(). Change-Id: I7d3f3a864fcb1231e5484ec23961f14fca1466c5
2015-11-24sc: Implement Software Interpreter subsetting, similarly to openCL one.Jan Holesovsky
And add only the minimum amount of operations we are sure about. Change-Id: I0dd35968206161e31fcd8bfd0b647329c703e0da
2015-10-26Make OpenCL listener global, to avoid perf. cost of copying it around.Michael Meeks
Change-Id: Ic10b70e1d56b941d263ed7632ba8a5146145cab1 Reviewed-on: https://gerrit.libreoffice.org/19600 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2015-10-14Improve performance by using the ScCalcOptions for OpenCL.Michael Meeks
Use the new configurationlistener to track the relevant setting. Change-Id: I9decea55df25f7eb34cd2fef94743d1907360d16 Reviewed-on: https://gerrit.libreoffice.org/19377 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2015-10-01loplugin:unusedmethodsNoel Grandin
- improvements to the plugin to find more method calls - improvements to python script to remove more false+ - fix the FORCE_COMPILE_ALL build flag to include code in the $WORKDIR Change-Id: I4d6015dcb9b9d60c26f0bcee8abad807177a7836 Reviewed-on: https://gerrit.libreoffice.org/19064 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-09-18Tentative performance improvement.Michael Meeks
Change-Id: Iec3a6a6869a4546f3d10928470361716d7b10243
2015-09-18Remove declaration of nonexistent functionTor Lillqvist
Change-Id: Iaf5155aba75495d77dce3dd143171c60037bdd11
2015-07-24tdf#92256: Handle case when string ref syntax is unknownKatarina Behrens
i.e. the document doesn't have that property. Use CONV_A1_XL_A1 pseudoconvention for interpreting INDIRECT in such case Change-Id: If9bac9053029b4b8f79d3ac7ac0759adbb25803f Reviewed-on: https://gerrit.libreoffice.org/17311 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2015-02-07ERROR is a macro on Windows, try ILLEGAL thenTor Lillqvist
Change-Id: Iae0c5308f77657c6a55bafd372ce7e4db5ef4aab
2015-02-07Turn StringConversion into a C++11 scoped enumerationTor Lillqvist
Change-Id: I353a62bac6c8bf00b20c93d9778fc45ade5d502c
2015-01-04merge OpCodeEnum and OpCodeCaolán McNamara
and replace ifdef hackery with an explicit underlying type Change-Id: Ibd340cf28d022af545a82e98e623d4c137ff7e53
2014-11-27Work in progress: Move Calc-independend OpenCL configuration out of scTor Lillqvist
Intermediate commit. More changes will follow: The device selection logic needs to be moved, too. (And cleaned up.) Instead of the separate formulacalculationoptions dialog we should simply have a normal options page for those OpenCL-related settings that will remain purely Calc-specific, like the formula opcode subsetting. Change-Id: Id60d95e80d377cbbf5780beb473b221bce06b5e5
2014-11-24Make whether to use OpenCL or not a global optionTor Lillqvist
Add a toggle to the "General" page. Change-Id: If35b1472032706b09a3bc3499c55cbd3ac2e13ac
2014-11-20Use regexps in the OpenCL blacklist/whitelistTor Lillqvist
Drop version number bounds, use regexps instead. Not entirely ideal, but as vendors are free to put arbitrary stuff into the driver version string (part of which might be numbers, part free text, part significant, part just informative), just comparing against lower and upper bounds with strverscmp() was not ideal either. Change-Id: Ic4ef4d8e15f79f1c96e6e03f6c01e62ae92dc2fc
2014-11-13Blacklist has precedence over whitelist, so order them like thatTor Lillqvist
Change-Id: I0cf00abd582aaaaa4be4d385a6ef4f199c7aa0bc
2014-11-12Split driver version specification into a rangeTor Lillqvist
Change-Id: I1f26b47054e70e54ce81d3ec4cbc5ff58c1aeea3
2014-11-12Rename OpenCLImpl to OpenCLImplMatcher to better match its purposeTor Lillqvist
Change-Id: If9b7052385a49df1403a5f652c67ca7c103a8be2
2014-11-07Make it possible to actually edit existing white/black list entriesTor Lillqvist
Still not possible to add new ones or delete existing ones, though. And the UI for this is not finished at all. Work in progress. Also some refactoring. To increase readability, introduce typedefs in ScCalcConfig. Not sure whether nested types inside the class is a good idea or not. Change-Id: I8e1695bb0594e2cd5f8b5ce0ece075842b77762a
2014-11-07Some simplification and refactoring, no functional changeTor Lillqvist
Change-Id: Ie7ba158063dc0c588e114278cedb80e414ccc4cb
2014-11-07More work on OpenCL whitelist/blacklist UITor Lillqvist
Change-Id: I526d6652a956be3031ed46ab15eeb333d3f40a7c
2014-11-06Try to get the SC_DLLPUBLIC placement rightTor Lillqvist
Change-Id: Iddf7cad771d271e848ba3abc1c144b9c313cdb99
2014-11-06Intermediate commit: start on whitelist/blacklist of OpenCL implementationsTor Lillqvist
Change-Id: I5a6ef8f5e428ec4e62b3fdac8fe3e63f0ae58f1b
2014-11-06More work on the new OpenCL optionsTor Lillqvist
Now the new options show up in the "Detailed Calculation Settings" dialog and are saved and restored from the per-user configuration. The code that manipulates the "Detailed Calculation Settings" dialog is quite ugly with all its manual hiding and showing of widgets depending on which detail it is that is being edited. This also means that the dialog cannot be designed using Glade. But no time now to re-work this. Change-Id: I03a3a51d902084e73aab5a787b588d22ea7578f2
2014-11-06Add a setting for what subset of functions we use OpenCL forTor Lillqvist
Change-Id: I9ecea99a921a9230fa80f813627db6cdf7ed5875
2014-11-06Add more detailled configuration for OpenCL use, and make OpenCL default to onTor Lillqvist
Add a boolean whether to use OpenCL for just a subset of functions, and a numberical minimum length of a cell group for OpenCL to be used. No functionality or GUI for this yet implemented, just the setting fields. Make whether to use OpenCL default to "on". Sure, this breaks stuff right and left for now. Fixes and workarounds later. Change-Id: I09b7aff9c7d1845df2bf01f09616e646373f030c
2014-05-11fix-includes.pl: scThomas Arnhold
Change-Id: Iade3fedac5d2f8e978b7dd9c30f001d7d1564946
2014-04-19fixincludeguards.sh: scThomas Arnhold
sorry, huge one...
2014-03-14some formula interpreter options are document specificEike Rathke
Ideally they'd even be stored as document options. Future work? Change-Id: Ida126a441ca88c35406fb66ea3722d6335e6e8e2
2014-03-14user selectable string conversion models, related fdo#37132 fdo#74622Eike Rathke
Determines how to treat text when encountered as operand in an arithmetic operation or as argument to a function that expects a number instead. Selectable under Tools->Options->Calc->Formula "Detailed calculation settings" "Custom" from "Conversion from text to number" are: Generate #VALUE! error: =1+"1" or =1+"x" give #VALUE! Treat as zero: =1+"1" or =1+"x" give 1 Convert only unambiguous: =1+"1" gives 2, but =1+"1.000" or =1+"x" give #VALUE! Convert also locale dependent: =1+"1.000" may be 2 or 1001 ... =1+"x" gives #VALUE! For "Generate #VALUE! error" and "Treat as zero" the "Treat empty string as zero" option follows these settings, for "Convert only unambiguous" and "Convert also locale dependent" it can be set independently. When reading documents created by other spreadsheet applications or older versions of LibreOffice, and to interchange documents between different locales the "Convert only unambiguous" with "Treat empty string as zero = True" setting is recommended, though LibreOffice so far acted as "Convert also locale dependent" with "Treat empty string as zero = False", which is the reason that option is kept as default. The best setting to create new documents that can be interpreted by all spreadsheet applications without on-the-fly string conversion is "Generate #VALUE! error". Not having to convert strings during calculation ist also faster, of course. Change-Id: Ie6dc34a00a82064a2d862b2178ce715fab945f85
2013-09-19store the opencl device id and propagate it from the ui to opencl codeMarkus Mohrhard
Change-Id: I47ed4add16c804e598feebd84ae823a45d2f8dd9
2013-09-19store opencl auto select setting in configurationMarkus Mohrhard
Change-Id: I687b31959b2932cc1b5f7ce6daea8d7bbbe85ee5
2013-06-25cleanup options dialog, and add an option for formula grouping.Michael Meeks
Change-Id: I3cb19fb24028bc07d24b56786b6573dc79911bda
2013-04-22Move to MPLv2 license headers, with ESC decision and author's permission.Michael Meeks
2012-12-17Change the order of always, never, ask enumerations.Kohei Yoshida
This tri-state option is commonly ordered ask-always-never or always-never-ask, but not always-ask-never, which is not very common. Change-Id: Ie3a3d1b40397b5cd7d28e64948a2b946bb619b49
2012-07-23Add new formula config option in the UI for "treat empty string as zero."Kohei Yoshida
Change-Id: I116857ee8b377c80707efbc76fcfa06c3e46201d
2012-05-31Rename this option to make it sound more generic.Kohei Yoshida
There may be other functions other than INDIRECT that take a string reference. If so, we could re-use this option for those functions as well. Change-Id: I1e756298a094aa8197f578cb992904b7af5b2e4d
2012-05-30Reset the calc settings to default when the 'Default' button is checked.Kohei Yoshida
Change-Id: Ia7eda2d9ff29b5997654fef1a01d637f474b06cc
2012-05-30Create a common struct for interpreter config options.Kohei Yoshida
And use it both in the core interpreter and the configuration UI. Change-Id: Ia2a16fcb53025840d906864b564255cd3c53e8e9