https://github.com/lmoneta/root

sort by:
Revision Author Date Message Commit Date
acf0d91 [TMVA] Fix printout message in MethodCategory::GetMvaValue 09 June 2022, 08:12:10 UTC
297af71 [relnotes] Bump date. 07 June 2022, 16:09:23 UTC
01c4cfd "Update ROOT version files to v6.26/05." 07 June 2022, 16:06:06 UTC
82fc2dc "Update ROOT version files to v6.26/04." 07 June 2022, 15:59:39 UTC
8256d5d [relnotes] Update for 6.26/04. 07 June 2022, 15:56:57 UTC
bc9afb3 [DF] Fix invalid reads in Vary with many variations and multiple columns When varying multiple columns simultaneously, RVariation was destroying and re-creating the per-column RVecs of varied values at every entry, which resulted in a change in the address of the varied values between entries, which caused invalid reads on the part of the RVariationReader (which assumes the addresses of varied values are stable). The issue was hidden by RVec's small buffer optimization, which was keeping addresses stable as long as the number of variations fit the small buffer. A regression test has been added. 04 June 2022, 13:16:26 UTC
6b11c23 [DF] Fix potential invalid memory access when using Vary Users can vary a single column or multiple columns simultaneously. In the latter case, RVariation::fLastResults contains, for each processing slot, an RVec of RVecs of results where the outer dimension runs over the different columns and the inner one over the varied values of each column. Before this commit, RVariation was initializing fLastResults to the wrong size in the case of multiple columns varied simultaneously, which ended up causing invalid memory accesses during the event loop in some cases. This patch fixes the problem and adds a regression test. 04 June 2022, 13:16:26 UTC
dfa7cc3 [DF] Fix crash with jitted Define and non-jitted Vary Sanity checks for a non-jitted Vary asked the nominal Define'd columns static type information that a jitted Define did not have. With this patch RJittedDefine should also have that type information in most if not all cases. 04 June 2022, 13:16:26 UTC
15eceb4 [DF] Add test for jitted Define+non-jitted Vary type checking 04 June 2022, 13:16:26 UTC
296857d [cmake] Use lcgpackages@cern, rather than unstable github: hashes are not stable when downloading release sources from github, see https://security.stackexchange.com/a/240209 https://github.com/root-project/root/issues/10503 (cherry picked from commit 8f05559cb9d74e5bc6c65bbd39a0dce82b18a3eb) 02 June 2022, 20:12:00 UTC
1f4dc01 [cmake] Bump Vc to 1.4.3; fixes macOS warnings: the patch is now included in the release; remove it. (cherry picked from commit 8e6f7236bc02d28cd5d767fc3d1462b1da211c64) 02 June 2022, 20:09:53 UTC
6d33f1e [DF] Do not create a RVariedAction if there are no variations Before this commit, if users requested `VariationsFor(result)` but `result` did not depend on any variation, we constructed a (no-op) RVariedAction anyway and added it to the computation graph. With this patch we do not add this no-op node to the computation graph if it's not needed. RResultMap had to be taught how to deal with this case. 01 June 2022, 22:31:42 UTC
925f8ae Fix running with macOS 12.0+ SDK after building with an older SDK When building with a macOS SDK before 12.0 and running with 12.0+ the validation of private modulemaps fails due to a change in layout. This change disables the check when DisablePCHValidation is active. (cherry picked from commit 85c757ad962e609779dcf8171e37cf70f611d238) 31 May 2022, 06:21:57 UTC
9debd9a [RF] Implement extended fits in subrange in new BatchMode Extended fits in a subrange didn't work so far in the new BatchMode, because the term that scales down the number of expected events to the subrange was missing. This is implemented with this commit. To make that happen, the interface of `RooAbsPdf::extendedTerm()` was extended by an overload that accepts the number of expected events directly, so they can be scaled down by the caller before. The `testSumW2Error` unit test was extended to cover also extended fits in subranges, also with the SumW2 correction enabled. 31 May 2022, 01:51:47 UTC
f49d822 [RF] Use BatchMode also in RooMCStudy tests in `stressRooFit_tests` With some recent updates to the RooFit BatchMode, it can now also be activated for the RooMCStudies in `stressRooFit_tests` as the fit results are the same. 31 May 2022, 01:51:47 UTC
2dee0a7 [RF] Synchronize NLL computation in BatchMode with the scalar mode NLL The BatchMode gave different results and went throught different minimization paths when the recovery from undefined regions was involved, because it was implemented a bit differently. This commit updates the RooNLLVarNew to do exactly the same computations as the original RooNLLVar in scalar mode to avoid any differences caused by this. 31 May 2022, 01:51:47 UTC
dd04c48 [RF] Drop zero-weight entries when filling data map in BatchMode The RooFit BatchMode had a bug in case of zero-weight events. The scalar mode doesn't evaluate the pdf for zero-weight entries, so if the pdf is undefined at this point it doesn't matter and no error is logged to force the minimizer out of that region. In the batch mode, these zero weight entried need to be skipped when filling the data map, such that they don't get evaluated and cause false errors. 31 May 2022, 01:51:47 UTC
45f34e2 [RF] Correctly implement additional dataset feature in HistFactory In HistFactory, the presence of a `Channel::GetAdditionalDatas` function hinted to the possibility of defining additional datases for a HistFactory model, besides the nominal observations dataset named `"obsData"`. When reading a user-generated HistFactory XML, the additional datasets were in fact read into the `Channel::fAdditionalData` member, and corresponding RooDataSets were created in the per-channel proto workspaces. However, when defining the Measurement object in C++ and dumping the XML via `PrintXML`, the additional datasets were not considered. They were also not considered when merging the datasets in the per-channel proto workspaces into the simultaneous dataset. This commit suggests to implement this correctly. Now, one can define additional datasets as follows in the XML: ```xml <Data HistoName="data" InputFile="data/example.root" HistoPath="" Name="addData"/> ``` If there is no `Name` tag, the RooDataSet in the workspace will use the `HistoName` as its name. Closes #10538. 31 May 2022, 01:51:47 UTC
a7b3e15 [RF] Some code cleaning and modernization in HistFactory 31 May 2022, 01:51:47 UTC
8e96b52 [DF] Do not duplicate work for nominal case when variations are present With this patch, RResultMap points to the one and only nominal result and we do not duplicate work for the nominal value (i.e. we don't handle the nominal case in RVariedAction anymore). 30 May 2022, 19:35:49 UTC
0f9b172 [TMVA][SOFIE] Add header guards to the include file generated by SOFIE This fixes #10586 25 May 2022, 07:54:40 UTC
aeabc14 Add missing TClass.h include in NormalizationHelpers.cxx 25 May 2022, 07:15:00 UTC
7615aed Disable a warning compiling unuran code. The warning was observed on fedora32 with gcc 10.3.1 Warning: root/src/methods/mvtdr_init.ch:886:17: warning: argument 1 value ‘18446744073709551608’ exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=] 886 | GEN->etable = malloc( size * sizeof(E_TABLE*) ); It can be fixed by casting to an int the input to malloc or checking if it is not larger than 2^63-1 This warning could be probably disabled in the code by casting from size_t to int the input to malloc 24 May 2022, 17:57:38 UTC
d10fd75 Minor Geometry optimization [v6-26] (#10642) * Return node created in AddNode call * Allow skipping of voxelization in CloseGeometry call 24 May 2022, 15:05:36 UTC
9230e5a [jsroot] correctly cleanup canvas painter Also add TGraph point index to tooltip 24 May 2022, 12:06:05 UTC
c4a2c9e [DF] Reuse nominal Defines whenever possible Due to faulty logic, we were using different RDefine objects for each systematic variation even if the define itself did not depend on the systematic variation under consideration. 20 May 2022, 16:47:11 UTC
23a1523 [DF] Do not ask cling a typeid if it does not know the type Before this patch, in order to assert that the column type returned by a Vary expression matched the type of the column we always asked cling to provide a type id for the existing column via TypeName2TypeID(GetColumnType(colName)). That failed if the column had a type not known to the interpreter, e.g. because it was Define'd and the expression returned a user-defined type. With this patch we use the typeid information coming from the RDefine node if it is available, otherwise we try with cling. 20 May 2022, 16:47:11 UTC
261a58a [DF] Fix wrong downcast in {RRange,RFilter}::GetVariedFilter When previous node of a RRange or RFilter node was a RJittedFilter, we were wrongly downcasting _varied_ filters to the RJittedFilter type, but varied filters are _not_ jitted filters, they are copies of the actual concrete filter. With this patch, if the type of the previous node is RJittedFilter, we treat it everywhere as the generic base class RFilterBase, which fixes the problem and it is consistent with what we already do in RVariedAction. 20 May 2022, 16:47:11 UTC
2c3b2d4 [DF] Better error message for Vary+Fill+no Reset method 20 May 2022, 16:47:11 UTC
24dab14 [DF] Throw if a varied column is redefined ...because we'd only redefine the _nominal_ value, which would be extremely confusing. 20 May 2022, 16:47:11 UTC
bf26780 [RF] Silence warnings in stressRooFit 19 May 2022, 17:30:23 UTC
3ab4317 [RF] Run stressRooFit with CUDA and CPU-only BatchMode in unit tests 19 May 2022, 17:30:23 UTC
a91e7c8 [RF] Avoid setting oper mode to `Auto` in RooAbsReal::computeBatch With all the recent BatchMode developments, it is not necessary anymore to set the operation mode to `Auto` in `RooAbsReal::computeBatch` to make the RooAbsCachedPdf work. Doing this results in a big speedup for the batch mode, bringing the runitme for stressRooFit down from 8 to 7 seconds for the CPU mode (without the BatchMode, the stressRooFit suite takes 7.7 seconds to run). 19 May 2022, 17:30:23 UTC
940399c [RF] Don't use `RooAbsReal::getVal()` in RooFitDriver anymore For scalar nodes, the RooFitDriver was still doing the evaluation via `RooAbsReal::getVal()` this was because of a problem with the normalization sets of constrained pdfs in the BatchMode. This problem got resolved in this commit, so it's now possible to go for `computeBatch` all the way now. 19 May 2022, 17:30:23 UTC
ea294e7 [RF] Move DataMap handling out of RooBatchCompute The RooBatchCompute library should not need to know about the data map implementation. It does not depend on the architecture, and also there are often incompatibilities when using `std::map` (or `std::unordered_map`) with nvcc with the standard library headers on the system. 19 May 2022, 17:30:23 UTC
93d410d [RF] Remove unused normalization integral interfaces from RooAbsPdf The removed functions were only introduced in 6.26 as RooFit implementation details to begin with, so removing them again should be harmless. 19 May 2022, 17:30:23 UTC
929c438 [RF] Simplify subrange correction term in RooNLLVarNew 19 May 2022, 17:30:23 UTC
a668ea1 [RF] Don't do normalization in RooBatchCompute/`computeBatch` anymore The normalization is now covered by the separate integral objects in the computation graph. 19 May 2022, 17:30:23 UTC
c142fb0 [RF] Extract norm. integrals to computation graph in RooFitDriver 19 May 2022, 17:30:23 UTC
e7495a7 [RF] Add RooNormalizedPdf class A RooNormalizedPdf wraps a pdf divided by it's integral for a given normalization set into a new self-normalized pdf. It is an implementation detail of the RooFit batch mode with the RooFitDriver. 19 May 2022, 17:30:23 UTC
ffa16c3 [RF] NormalizationIntegralUnfolder puts integrals in computation graph 19 May 2022, 17:30:23 UTC
9c8d922 [RF] New RooAbsArg::fillNormSetForServers function indicates norm sets 19 May 2022, 17:30:23 UTC
099be98 [RF] Add back code in the RooFit driver that waits servers to finish This logic has accidentally been removed in a previous commit. 19 May 2022, 17:30:23 UTC
08e54e1 [RF] Use value servers for output size determination 19 May 2022, 17:30:23 UTC
04bd5a5 Add #include <cstring> for std::memcpy In file included from /builddir/build/BUILD/root-6.26.00/tmva/sofie/inc/TMVA/RModel.hxx:14, from /builddir/build/BUILD/root-6.26.00/tmva/sofie/src/RModel.cxx:3: /builddir/build/BUILD/root-6.26.00/tmva/sofie/inc/TMVA/SOFIE_common.hxx: In member function 'void TMVA::Experimental::SOFIE::InitializedTensor::CastPersistentToShared()': /builddir/build/BUILD/root-6.26.00/tmva/sofie/inc/TMVA/SOFIE_common.hxx:75:12: error: 'memcpy' is not a member of 'std'; did you mean 'wmemcpy'? 75 | std::memcpy(tData.get(), fPersistentData,fSize * sizeof(float)); | ^~~~~~ | wmemcpy gmake[2]: *** [tmva/sofie/CMakeFiles/ROOTTMVASofie.dir/build.make:79: tmva/sofie/CMakeFiles/ROOTTMVASofie.dir/src/RModel.cxx.o] Error 1 (cherry picked from commit 5c4c23d9d67bc35cabb0bff251de3e08914237c7) 17 May 2022, 12:52:25 UTC
233da18 [cxxmodules] Reduce the amount of header duplications in the modules. This resolves a merging bug with libstdc++12. Fixes root-project/root#10478 Backport includes the following commit: [cxxmodules] Fix std.modulemap for older GCC (#10529) The header bits/utility.h only exists since libstdc++-12. (cherry picked from commits e88d533f1c79754dae892249818f53d0155e88fa and 2750395660c5c8c3ae617a18fefd27193587ec79) 17 May 2022, 06:30:49 UTC
b3959f0 [rbrowser] do not try to read object without dictionary Even when class instance is created, it cannot be used normally 13 May 2022, 06:15:14 UTC
095b11e [rbrowser] use proper title for catched TCanvas 13 May 2022, 06:15:14 UTC
d842141 [rbrowser] let display TGeoNode object Display associated TGeoVolume 13 May 2022, 06:15:14 UTC
448005f [cling] Do not throw CompilationExceptions on Apple M1 (#10563) See https://github.com/root-project/root/issues/7541 for details. Closes #10548 11 May 2022, 15:34:38 UTC
2fbb3bb [RF] Avoid using `_normSet` member in RooAddPdf The `RooAbsPdf::_normSet` member should be not used, because it can happen in many situations that the RooArgSet it points to gets out of scope and then you get a crash. There were several cases reported on the forum where this happened with a RooAddPdf recently, becaues with ROOT 6.26 some logic of the RooAddPdf got changed to better deal with empty normalization sets. This commit avoids using `_normSet` by overriding `getValV` in RooAddPdf directly, instead of `evaluate()`. This way, it has access to the actual normalization set that is passed to the call to `getVal()`. For the batch mode, we now pass `nullptr` to `RooAddPdf::getNormAndCache()` instead of `_normSet`. In this case it falls back to using `_copyOfLastNormSet`, which is guaranteed to still be valid because it's a unique_ptr owned by the RooAddPdf itself. 10 May 2022, 13:42:46 UTC
df9e408 [RF] Consistent behavior for uniform constraint terms in HistFactory In HistFactory, normalization uncertainties and shape uncertainties were treated differently when setting the constraint type to uniform, e.g.: ```xml <ConstraintTerm Type="Uniform" RelativeUncertainty="1">NP_shape</ConstraintTerm> <ConstraintTerm Type="Uniform" RelativeUncertainty="1">NP_norm</ConstraintTerm> ``` See #9070 for a very good explanation of the problem. For non-shape uncertainties, the uniform constraint was treated as a special case of the Gaussian constraint with "infinite" sigma. For shape uncertainties, the `Uniform` type was ignored. This commit suggests to refactor the creation of Gaussian constraints such that the logic that considers the "Uniform" tag is also used for shape uncertainties. Closes #9070. 10 May 2022, 13:42:46 UTC
f42d1ca [RF] Allow any RooAbsReal instead of just RooRealVar for params Allow any RooAbsReal instead of just RooRealVar for params. Also make isBinnedDistribution depend on the vars rather than always return true. 10 May 2022, 13:42:46 UTC
ad7ddf4 [RF] Add class rules for `RooCollectionProxy` for forward compatibility In ROOT 6.28, some proxy classes were replaced: `RooSetProxy` -> `RooCollectionProxy<RooArgSet>` `RooListProxy` -> `RooCollectionProxy<RooListProxy>` This breaks reading workspaces created with 6.28 by 6.26. Even though we generally don't guarantee forward compatibility, the problem can be fixed easily in this case by adding a class rule to treat the new class names as aliases for the old ones. 09 May 2022, 20:31:03 UTC
9059e41 [rcanvas] do not call ReleaseHeldCanvases in canvas cleanup instance Cleanup performed properly anyway 05 May 2022, 11:02:39 UTC
53a75ac [rcanvas] prevent that cleanup directory append to gDirectory 05 May 2022, 11:02:39 UTC
8d2f6ea [skip-ci] Update doc Makefile. (#10521) 04 May 2022, 09:31:35 UTC
32156fa [RF] Add `RooAbsCollection::sortTopologically()` member function Add member function to RooAbsCollection to sort topologically: the servers of any RooAbsArg will be before that RooAbsArg in the collection. Will throw an exception if all servers are missing in the collection. This function is useful for computation graph analysis like in the RooFitDriver. 03 May 2022, 22:56:55 UTC
8f7b30b [RF] Correctly replace normSets in RooProdPdf In the case of conditional fits, the RooProdPdf stores normalization sets individually for each pdf. When redirecting servers, the RooAbsArgs in these normalization sets also need to be considered. 03 May 2022, 22:56:55 UTC
08906ac [RF] Ignore categories with no PDF in RooSimultaneous helper code A unit test based to check that this is done correctly was also implemented. Closes #10473. 03 May 2022, 22:56:55 UTC
792b0c7 [RF] Slim down `RooFitDriver.h` by moving things to other files The RooFitDriver is central to how the new RooFit BatchMode works, and it's interface should be small to make it accessible to new contributors. 03 May 2022, 22:56:55 UTC
8728f13 [RF] Continue RooFitDriver refactoring and improvements The RooFitDriver is further refactored to make the code more understandable. Furthermore, some code in the constructor that was only relevant for the CUDA mode is now only run when CUDA is enabled. 03 May 2022, 22:56:55 UTC
3165e03 [RF] Refactor RooFitDriver and move some functionality to other files The `RooFitDriver.cxx` source file was growing a lot recently, and many functional parts were mixed together. For example, the loading of spans from the dataset and the analysis of the computation graph are two separate things but they were mixed in this file. This commit suggests to improve the situation by moving all data related functionality to a new file `BatchModeDataHelpers.cxx`. Some CUDA helpers are also moved to `CUDAHelpers.cxx`. Another helper function was moded to `BatchModeHelpers.cxx` to keep the footprint of `RooFitDriver.cxx` small such that new contributors can get started more easily. Documentation was also added to the new files, which are pure implementation details and no new public headers are added. 03 May 2022, 22:56:55 UTC
75a4570 [RF] Add unit test for extended fit with SumW2Error and BatchMode Also move the `testSumW2Error` to `roofitcore` where it belongs. 03 May 2022, 22:56:55 UTC
bb905ff [RF] Fix SumW2Error with extended term BatchMode The extended term needs a special correction, it should not just be reevaluated with the squared weights replacing the weights. This is not implemented correctly. The way how weights are handled in the batch mode was also simplified. Previously, a dummy `RooRealVar` was created for the weight and the squared weight each, but now the conventional name for the weight variable is used directly to look up the names in the data map. 03 May 2022, 22:56:55 UTC
53ce389 Update the checksum for xrootd-5.4.2.tar.gz (fixes #10503) 03 May 2022, 12:20:00 UTC
44d083e stdpair: Don't reuse of emulated StreamerInfo (when having compiled info) Also: don't read past the end of the array of StreamerInfo (the indices start at -1) 28 April 2022, 19:01:15 UTC
c75b3ed [core] TViewPubDataMembersIter: avoid using deprecated `std::iterator` `std::iterator` was deprecated in C++17; manually declare the member types. Fixes #10351. 28 April 2022, 16:26:25 UTC
58a2d21 [DF] Copy Snapshot operation arguments in a distributed task The Snapshot operation file name is modified in-place to append the range id of a certain task. This can lead to a task receiving the input operation from a previous task with an already modified file name. Thus, the current task would create a wrong file name with more than one range id. Solve this by creating a deep copy of the Snapshot operation arguments in each task, so that the filename is correctly changed in isolation. This commit is adapted to the implementation available in 6.26 22 April 2022, 07:05:32 UTC
e62a02e bypass UUID registration when using READ_WITHOUT_GLOBALREGISTRATION Normally the registration of UUIDs from TFiles is needed to support the use of TRefs pointing to a TFile. The READ_WITHOUT_GLOBALREGISTRATION option is used (by default) by TTreeProcessorMT, and in this case the use of TRefs pointing to TFile objects is anyways not thread safe since the same file (with identical UUID) may be opened by multiple threads. 14 April 2022, 15:33:41 UTC
7f3f74b [PyROOT] Py_TYPE is changed to an inline static function in Py3.11 As mentioned in the Python docs: https://docs.python.org/3.11/whatsnew/3.11.html Already available upstream in: https://github.com/wlav/CPyCppyy/commit/a8f41df0618f40ecc9a2a0b5a51fd12ddf2e6673 14 April 2022, 12:26:20 UTC
59a5b95 [relnotes] Mention #10353 is fixed in 6.26/02. 12 April 2022, 16:57:00 UTC
f9facdf "Update ROOT version files to v6.26/03." 12 April 2022, 16:46:45 UTC
54807d9 "Update ROOT version files to v6.26/02." 12 April 2022, 16:24:02 UTC
c67b5e1 [relnotes] Update for 6.26/02. 12 April 2022, 16:16:55 UTC
fb0d9ef Add missing 'continue' to actually enable cache in StdLen 12 April 2022, 14:39:15 UTC
73a07b6 Split static init and lambda decl. Hopefully this does not increase the number of statics 12 April 2022, 14:39:15 UTC
87cacf8 TClassEdit: simplify and reduce cost of static initialization. 12 April 2022, 14:39:15 UTC
c4ca830 TClassEdit: make usage of static cache container thread safe. This should fix issue #10353. 12 April 2022, 14:39:15 UTC
139fde5 [RF] Added missing snapshot creation Fixes a bug where snapshots were not imported from JSON. 11 April 2022, 11:24:45 UTC
d411b81 [cmake] Enable openssl3 for xrootd: For Ubuntu 22.04 we will otherwise get a build error. See https://github.com/xrootd/xrootd/issues/1666 (cherry picked from commit f4bd8e740a99828d1232494b9d92a25fe2c39f65) 11 April 2022, 10:53:14 UTC
ab3d1a6 [cmake] Bump davix to 0.8.1: Fixes macOS 12 builds (no "python", only "python3"). Davix now uses curl instead of neon. (cherry picked from commit 4fb53c7adfb4df5fb2652b234c609af951a98edc) 11 April 2022, 10:53:03 UTC
7450c0b [I/O] Use thread-local collection proxy in TClass::Destructor This fixes #10357 (a race condition when reading vectors with custom allocators with TTreeProcessorMT that also affected RDataFrame). Co-authored-by: Philippe Canal <pcanal@fnal.gov> 10 April 2022, 16:46:33 UTC
88ddada [RF] Don't used fixed-size stack arrays in RooBatchCompute in CPU case In the CPU case in `RooBatchCompute`, we can use `std::vector` instead of fixed-size stack arrays to pass data around, and the `Batches` object can be passed to the compute functions by reference. This fixes crashes with models where the numer of inputs for a RooAbsArg exceeds the maximum number of parameters supported by the fixed-size array buffer, at least in the CPU case. In the GPU case, we now throw a nicer error if the buffers are to small, instead of just crashing. The `stressRooFit` tests for the CPU or GPU batch mode still pass after this commit. 09 April 2022, 07:52:14 UTC
0c6f5a0 [RF] Move `RooMath` from RooBatchCompute back into RooFitCore Moving `RooMath` to RooBatchCompute caused linker errors for users that we want to avoid: RooBatchCompute is a RooFit implementation detail and we don't want poeple to link against it. For this reason, RooMath is moved back into RooFitCore, and the Faddeeva implementation that is also used in RooBatchCompute is split off into a new file `faddeeva_impl.h` that is not part of the public interface. 09 April 2022, 07:52:14 UTC
4813de8 [RF] Fix architecture logging RooFitDriver * print the **value** of the `RF_ARCH` macro, not the macro name * avoid looging same info repeatedly 09 April 2022, 07:52:14 UTC
1d8e2f2 [DF][NFC] Disable also distributed tutorials on Mac ARM 08 April 2022, 14:48:41 UTC
ea93441 [rbrowser] ignore escape characters in terminal output Some terminal commands (like ls) may produce escape characters for coloring. These characters are ignored for the beginning 07 April 2022, 07:44:54 UTC
0a8a6cd [rbrowser] fix typo in settings menu 07 April 2022, 07:44:54 UTC
f7bab47 [VecOps] Prefer using namespace ROOT::Detail::VecOps inside tests 07 April 2022, 06:28:15 UTC
3f7a3eb [VecOps] Introduce value parameterized tests for VecOpsSwap Added unit test fixture to test both `ROOT::VecOps::swap` and `std::swap`. Co-authored-by: Bernhard Manfred Gruber <bernhardmgruber@gmail.com> 07 April 2022, 06:28:15 UTC
3168517 [VecOps] Add a test suite for possible vector swaps Possible combinations of vectors to swap: 1. small <-> small 2. regular <-> regular (not small, not adopting) 3. adopting <-> adopting 4. small <-> regular (and vice versa) 5. small <-> adopting (and vice versa) 6. regular <-> adopting (and vice versa) 07 April 2022, 06:28:15 UTC
917cd2d [VecOps] Add public `IsSmall` and `IsAdopting` methods Introduce ROOT::Detail::VecOps::IsSmall(v) and ROOT::Detail::VecOps::IsAdopting(v) to check whether an RVec is small and owning its memory respectively. 07 April 2022, 06:28:15 UTC
06ddf9f [VecOps] Handle swap of small and adopting vectors There was one combination of vectors that was braking the Rvec's `swap` previously - small and adopting vectors. This case is now fixed. 07 April 2022, 06:28:15 UTC
7d7b4f1 [NFC] Simplify code in TListOfEnums 06 April 2022, 15:50:26 UTC
a3c0a15 Remove unnecessary trailing semi-colon 06 April 2022, 15:50:26 UTC
678e98c CollectionProxy: pass pair hint to R__CreateValue 06 April 2022, 15:50:26 UTC
531fc24 Avoid reading pass the end of the StreamerInfo container. This was happening when, inadvertently, StreamerInfo were created multiple times and then immeditately deleted (for map<enumtype_without_dict, somethinelse>) 06 April 2022, 15:50:26 UTC
e3c4bbd TGenCollectionProxy init: fail if the value's StreamerInfo is not there. This happened in a user case where the container (map) for a pair of an enum, which had not dictionary and something else that did have a dictionary. 06 April 2022, 15:50:26 UTC
e6ebd0e TBufferFile: create StreamerInfo only if needed. In the 'root_serialization' use case, we ended in TBufferFile::WriteClassBuffer with no StreamerInfo created yet for the TClass for `std::vector<float>` and thus go into the branch that creates the StreamerInfo ... However, at least in that case, the call to `BuildRealData` induced the creation of the StreamerInfo but the code in `TBufferFile::WriteClassBuffer` did not notice and thus create a second one and tried to register it in the same slot. (The actual negative side effect was only an error message and a memory leak). 06 April 2022, 15:50:26 UTC
back to top