Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
11 months agoAdd WakeupTreeIterator and WakeupTree skeletons
Maxwell Pirtle [Tue, 9 May 2023 14:34:04 +0000 (16:34 +0200)]
Add WakeupTreeIterator and WakeupTree skeletons

11 months agoAdd more docmentation for get_first_sdpor_initial()
Maxwell Pirtle [Tue, 16 May 2023 07:39:15 +0000 (09:39 +0200)]
Add more docmentation for get_first_sdpor_initial()

A very important function at the center of SDPOR
was missing significant context that would help
a reader understand what exactly was going on
with the function. What makes the situation tricky
is the fact that the pseudocode's implementation
is blended into several lines and computed "on the
fly" rather than fully.

11 months agoAdd more documentation to ClockVector/Execution
Maxwell Pirtle [Mon, 15 May 2023 07:37:22 +0000 (09:37 +0200)]
Add more documentation to ClockVector/Execution

11 months agoAdd unit tests for ClockVector
Maxwell Pirtle [Mon, 15 May 2023 07:04:11 +0000 (09:04 +0200)]
Add unit tests for ClockVector

12 months agoFix MANIFEST.in
Maxwell Pirtle [Tue, 9 May 2023 11:57:07 +0000 (13:57 +0200)]
Fix MANIFEST.in

We should note that the Execution that's a part of
both ODPOR and SDPOR is now contained in DFSExplorer
even in stateless execution. This will likely eventually
be true also for ODPOR; hence, the ODPOR sources
have been added to the SRC_MC_STATELESS portion as
needed

12 months agoIntegrate SDPOR into `model-check/reduction` flag
Maxwell Pirtle [Tue, 9 May 2023 08:36:13 +0000 (10:36 +0200)]
Integrate SDPOR into `model-check/reduction` flag

SDPOR and ODPOR can be used as part of the
DFSExplorer (ODPOR should integrate with some
minor details in the DFS implementation, but that's
for a later PR). This commit replaces the simple
`with_dpor` boolean flag used to control the
reduction with the more precise `ReductionMode`
that is newly extracted from within `DFSExplorer`
and is instead made "public"

12 months agoAdd more documentation to essential SDPOR methods
Maxwell Pirtle [Fri, 5 May 2023 12:47:07 +0000 (14:47 +0200)]
Add more documentation to essential SDPOR methods

12 months agoModify tesh suite expectations with changes to dependencies
Maxwell Pirtle [Tue, 9 May 2023 07:47:27 +0000 (09:47 +0200)]
Modify tesh suite expectations with changes to dependencies

12 months agoFix ObjectAccess dependency check
Maxwell Pirtle [Fri, 5 May 2023 12:21:17 +0000 (14:21 +0200)]
Fix ObjectAccess dependency check

The ObjectAccess transition should defer
dependency computation to the ActorJoin action.
Previously, it only decided dependency by
simply checking if the `other` transition
were simply another object access on the
same object

12 months agoFix subtlety with SDPOR/ODPOR initials
Maxwell Pirtle [Fri, 5 May 2023 09:16:07 +0000 (11:16 +0200)]
Fix subtlety with SDPOR/ODPOR initials

Computing initials for SDPOR/ODPOR requires
extending a search with respect to
a prefix of an execution. Previously, events
added to the extension were referred to by
their location within the larger execution
from which the prefix was taken. The problem
is that the new events need to be referred
to by their position relative to the
*extension* of the prefix; otherwise,
asking about "happens-before" in the extension
while using their handles in the full execution
will give incorrect results

12 months agoFix two off-by-one errors with clock vectors
Maxwell Pirtle [Fri, 5 May 2023 08:29:02 +0000 (10:29 +0200)]
Fix two off-by-one errors with clock vectors

Two errors were identified with managing clock
vectors in the Execution class. The index
assigned to the new transition was previously
`size() + 1` when it should have read `size()`.
Furthermore, the loop for checking "happens-between"
events excluded event 0. Both issues are now resolved
and a test with a race at the beginning was added
as verification

12 months agoMark `ActorJoin` dependent with `target_`
Maxwell Pirtle [Fri, 5 May 2023 06:53:47 +0000 (08:53 +0200)]
Mark `ActorJoin` dependent with `target_`

The `ActorJoin` transition was previously
labeled as independent with all other
transitions, including those of the actor
upon which the join acted. However, this
assumption was faulty: the join action is
instead dependent with ANY transition executed
by the actor joined upon, as the action
BECOMES enabled only as soon as the last action
run by the actor is executed.

12 months agoPrevent adding outgoing transition for top-most state
Maxwell Pirtle [Fri, 5 May 2023 06:46:09 +0000 (08:46 +0200)]
Prevent adding outgoing transition for top-most state

The outgoing transition for the top-most
state of the state stack in the DFSExplorer refers
to that which was taken as part of the last
trace explored by the algorithm. Thus, only the
sequence of transitions leading up to, but
not including, the last state must be included
when reconstructing the Exploration for SDPOR.

12 months agoAdd workaround for subtlety with state regeneration
Maxwell Pirtle [Thu, 4 May 2023 12:29:44 +0000 (14:29 +0200)]
Add workaround for subtlety with state regeneration

Regeneration of the Execution inside DFSExplorer
should be as simple as choosing the prefix relative
to the appropriate backtracking point. However,
it did not appear to function so simple. After
a good amount of debugging, it appears that
the stack contents can change unexpectedly so
(e.g. a transition "in the middle" of the stack
seemingly switches arbitrarily). Until we can
pinpoint the true cause here, we simple resort
to rebuilding the execution based off the new
stack each time we decide to backtrack. The
downside is that all clock vectors have to be
recomputed after each backtrack. For now,
this is something that's OK to live with,
especially considering that this certainly
won't be a bottle neck in performance

12 months agoAdd first tests for "happens-before"
Maxwell Pirtle [Thu, 4 May 2023 07:33:25 +0000 (09:33 +0200)]
Add first tests for "happens-before"

The happens-before relation is used
extensively by SDPOR and ODPOR during
their computations for determining what
executions should be searched next. This
commit introduces the first round of tests
for the happens-before relation on
artificially constructed executions

12 months agoMove SDPOR core computation into a method
Maxwell Pirtle [Wed, 3 May 2023 09:35:01 +0000 (11:35 +0200)]
Move SDPOR core computation into a method

The core component of SDPOR involves selecting
an "initial" for a hypothetical computation
extending from a prefix of the current execution
that results in the reversal of the reversible
race SDPOR detected. This comomit moves that
computation as much as possible into the
`Execution` class itself to make the SDPOR
implementation easier to read

12 months agoAdd tentatively-working SDPOR implementation
Maxwell Pirtle [Wed, 3 May 2023 07:34:12 +0000 (09:34 +0200)]
Add tentatively-working SDPOR implementation

This commit introduces SDPOR into SimGrid
(well, mostly). The current implementation
will be improved upon by cleaning up some
of the code that was added to improve
its testability

12 months agoAdd initial outline of SDPOR implementation
Maxwell Pirtle [Tue, 2 May 2023 10:38:43 +0000 (12:38 +0200)]
Add initial outline of SDPOR implementation

The SDPOR algorithm is nearing an implementation
into SimGrid (sans a few technical details and
code clean ups that will be nice to add). The
algorithm largely builds off the existing
infrastructure of DFSExplorer fortunately.

12 months agoAdd Execution concept without ExecutionViews
Maxwell Pirtle [Tue, 2 May 2023 06:58:21 +0000 (08:58 +0200)]
Add Execution concept without ExecutionViews

The Execution is the key concept in ODPOR
and SDPOR for generating new traces. Executions
for the basis off of which new search paths are
created

12 months agoRemove sdpor folder in favor of odpor only
Maxwell Pirtle [Thu, 27 Apr 2023 08:43:37 +0000 (10:43 +0200)]
Remove sdpor folder in favor of odpor only

12 months agoAdd `Execution` to represent series of transitions
Maxwell Pirtle [Wed, 26 Apr 2023 13:57:28 +0000 (15:57 +0200)]
Add `Execution` to represent series of transitions

The Execution class represents a series of transitions
taken by a process. An execution importantly also encodes
the happens-before relation among the series of steps
represented. The eventual implementation will leverage
clock vectors to compute the relation between events.
A more refined happens-before relation is left for
as a future (complicated) exercise...

12 months agoAdd class for eventual "happens-before" computations
Maxwell Pirtle [Mon, 24 Apr 2023 12:55:12 +0000 (14:55 +0200)]
Add class for eventual "happens-before" computations

Computing the "happens-before" relation over
a sequence of executions is an important step
in determining whether or not DPOR (and SDPOR
alike) needs to add a backtracking point.
This commit introduces the "ClockVector"
class which acts effectively as a light
wrapping around an `unordered_map` mapping
actor ids to integer values.

The essential component of the ClockVector
class is that its contents are "implicit"
in the sense that actors for which no
value is explicitly contained in the map
are assigned to the value `0` by default.
This allows clock vectors to be flexible
enough to support the creation of new
actors and the enabling/disabling of old
actors as they come and go.

12 months agoadd two more utility functions to the Operation plugin
Fred Suter [Thu, 11 May 2023 14:29:20 +0000 (10:29 -0400)]
add two more utility functions to the Operation plugin

12 months agoFix make distcheck
Martin Quinson [Wed, 10 May 2023 21:35:25 +0000 (23:35 +0200)]
Fix make distcheck

12 months agoMC: Kill the now useless code State::get_recipe
Martin Quinson [Wed, 10 May 2023 21:27:34 +0000 (23:27 +0200)]
MC: Kill the now useless code State::get_recipe

12 months agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Wed, 10 May 2023 21:22:28 +0000 (23:22 +0200)]
Merge branch 'master' of framagit.org:simgrid/simgrid

12 months agoDFS MC: Restore from system states even if we have to run some transitions out of it
Martin Quinson [Wed, 10 May 2023 21:21:10 +0000 (23:21 +0200)]
DFS MC: Restore from system states even if we have to run some transitions out of it

This makes the model-check/checkpoint a bit more efficient by
increasing the amount of cases where we can reuse taken checkpoints.

It is still awfully slow because checkpoints are. The next step is to
implement model-check/checkpoint with forks.

12 months agoMerge branch 'dag-lab' into 'master'
Martin Quinson [Wed, 10 May 2023 11:08:09 +0000 (11:08 +0000)]
Merge branch 'dag-lab' into 'master'

Add dag scheduling lab to docs

See merge request simgrid/simgrid!150

12 months agoMerge branch 'changelog-operation-plugin' into 'master'
Martin Quinson [Wed, 10 May 2023 11:07:36 +0000 (11:07 +0000)]
Merge branch 'changelog-operation-plugin' into 'master'

Add plugins operation and battery to changelog

See merge request simgrid/simgrid!149

12 months agoUse forwarding references with std::forward (sonar).
Arnaud Giersch [Tue, 9 May 2023 14:46:08 +0000 (16:46 +0200)]
Use forwarding references with std::forward (sonar).

(hope I got it right this time)

12 months agoUse a std::vector as an underlying container for backtrack_points, so that maximal_su...
Arnaud Giersch [Tue, 9 May 2023 14:27:35 +0000 (16:27 +0200)]
Use a std::vector as an underlying container for backtrack_points, so that maximal_subsets_iterator can have a noexcept move constructor by default.

12 months agoUse a static variable for empty_set, and allow default noexcept move constructor.
Arnaud Giersch [Tue, 9 May 2023 13:57:50 +0000 (15:57 +0200)]
Use a static variable for empty_set, and allow default noexcept move constructor.

12 months agoadd dag scheduling lab
Adrien Gougeon [Tue, 9 May 2023 12:45:25 +0000 (14:45 +0200)]
add dag scheduling lab

12 months agoPlug memory leak.
Arnaud Giersch [Mon, 8 May 2023 19:27:14 +0000 (21:27 +0200)]
Plug memory leak.

12 months agoUse pointer-to-const for parameter (sonar).
Arnaud Giersch [Sat, 6 May 2023 11:48:33 +0000 (13:48 +0200)]
Use pointer-to-const for parameter (sonar).

12 months agoFix sonar bug: attribute access on a value that can be 'None'.
Arnaud Giersch [Fri, 5 May 2023 08:38:39 +0000 (10:38 +0200)]
Fix sonar bug: attribute access on a value that can be 'None'.

12 months agoMisc Sonar issues.
Arnaud Giersch [Thu, 4 May 2023 13:13:45 +0000 (15:13 +0200)]
Misc Sonar issues.

* declare functions "const"
* use pointer-to-const or reference-to-const
* use structured bindings
* extract assignment from expression
* mark constructors "explicit"
* pass large object parameters by reference-to-const
* use default implementation constructor
* explicitly capture required variables in lambdas

12 months agomess up with operations
Fred Suter [Fri, 5 May 2023 01:20:01 +0000 (21:20 -0400)]
mess up with operations
+ chainable setters
+ getters
+ boost instrusive pointers

12 months agoRename Link::get_usage() to Link::get_load() for consistency with Host::
Martin Quinson [Thu, 4 May 2023 14:14:54 +0000 (16:14 +0200)]
Rename Link::get_usage() to Link::get_load() for consistency with Host::

12 months agoadd plugins operation and battery
Adrien Gougeon [Thu, 4 May 2023 09:22:11 +0000 (11:22 +0200)]
add plugins operation and battery

12 months agofurther simplify this example
Fred Suter [Wed, 3 May 2023 14:39:56 +0000 (10:39 -0400)]
further simplify this example

12 months agoOne use less of get_recipe() that will soon die
Martin Quinson [Fri, 28 Apr 2023 00:01:20 +0000 (02:01 +0200)]
One use less of get_recipe() that will soon die

12 months agoFactorize more code between DFSExplo and LivenessExplo, and UDPOR
Martin Quinson [Thu, 27 Apr 2023 23:25:04 +0000 (01:25 +0200)]
Factorize more code between DFSExplo and LivenessExplo, and UDPOR

12 months agoKill useless empty function.
Arnaud Giersch [Tue, 2 May 2023 14:32:11 +0000 (16:32 +0200)]
Kill useless empty function.

12 months agoMissing "override".
Arnaud Giersch [Tue, 2 May 2023 14:22:02 +0000 (16:22 +0200)]
Missing "override".

12 months agoSimplify expression.
Arnaud Giersch [Tue, 2 May 2023 14:14:43 +0000 (16:14 +0200)]
Simplify expression.

12 months agoFix use-after-free observed with the s4u-operation examples.
Arnaud Giersch [Tue, 2 May 2023 14:12:18 +0000 (16:12 +0200)]
Fix use-after-free observed with the s4u-operation examples.

12 months agoCosmetics (sonar).
Arnaud Giersch [Tue, 2 May 2023 14:24:29 +0000 (16:24 +0200)]
Cosmetics (sonar).

12 months agoDefine each identifier in a dedicated statement (sonar).
Arnaud Giersch [Tue, 11 Apr 2023 09:13:59 +0000 (11:13 +0200)]
Define each identifier in a dedicated statement (sonar).

12 months agoRevert "Run mc-*-liveness tests serial, and hope to pass on CI."
Arnaud Giersch [Sat, 29 Apr 2023 08:03:02 +0000 (10:03 +0200)]
Revert "Run mc-*-liveness tests serial, and hope to pass on CI."

This reverts commit 881507dc9fbeba0c63112dd0058d9c591b67419e.

In fact, it was just the CI infrastructure that was unusually slow these days.

12 months agoWhitespace cleanup (codefactor.io).
Arnaud Giersch [Tue, 18 Apr 2023 09:39:48 +0000 (11:39 +0200)]
Whitespace cleanup (codefactor.io).

12 months agoLazily compute the recipe of a state, on need only
Martin Quinson [Thu, 27 Apr 2023 13:41:03 +0000 (15:41 +0200)]
Lazily compute the recipe of a state, on need only

This will be useful when leveraging intermediate states during
backtracks. In that case, we need to compute partial recipes, up to
the advanced restaure point.

12 months agoMore automatic memory mgmt in MC
Martin Quinson [Thu, 27 Apr 2023 12:09:03 +0000 (14:09 +0200)]
More automatic memory mgmt in MC

12 months agoMC: give each state an incoming transition too
Martin Quinson [Thu, 27 Apr 2023 11:48:19 +0000 (13:48 +0200)]
MC: give each state an incoming transition too

Using the parent's outgoing transition is not reliable anymore now
that we don't always explore the tree in order, but rather following
the exploration strategies.

12 months agoFix comment [no-ci]
Martin Quinson [Tue, 18 Apr 2023 07:01:51 +0000 (09:01 +0200)]
Fix comment [no-ci]

12 months agoRun mc-*-liveness tests serial, and hope to pass on CI.
Arnaud Giersch [Thu, 27 Apr 2023 12:57:19 +0000 (14:57 +0200)]
Run mc-*-liveness tests serial, and hope to pass on CI.

12 months agoFix comment.
Arnaud Giersch [Thu, 27 Apr 2023 09:28:08 +0000 (11:28 +0200)]
Fix comment.

12 months agoThere is no need to declare the default constructors here.
Arnaud Giersch [Thu, 27 Apr 2023 09:27:02 +0000 (11:27 +0200)]
There is no need to declare the default constructors here.

12 months agoFix build error: exception specification of explicitly
Arnaud Giersch [Thu, 27 Apr 2023 09:26:20 +0000 (11:26 +0200)]
Fix build error: exception specification of explicitly
defaulted move constructor does not match the calculated one.

12 months agoMerge branch 'operation-plugin' into 'master'
Martin Quinson [Wed, 26 Apr 2023 12:45:40 +0000 (12:45 +0000)]
Merge branch 'operation-plugin' into 'master'

Operation plugin

See merge request simgrid/simgrid!145

12 months agoMerge branch 'udpor-phase7' into 'master'
Martin Quinson [Tue, 18 Apr 2023 07:08:17 +0000 (07:08 +0000)]
Merge branch 'udpor-phase7' into 'master'

Phase 7 of UDPOR Integration: Add specialized `ex(C)` computation for `Comm*` transitions

See merge request simgrid/simgrid!144

12 months agosonar fixes
Martin Quinson [Mon, 17 Apr 2023 08:01:01 +0000 (10:01 +0200)]
sonar fixes

- Undefined return value (that would happen on a platform without any host)
- Local variable shadowing
- Automatic memory management
- const, explicit, etc.

12 months agoLet resource profiles finish their initialization by themselves and kill presolve
Martin Quinson [Sun, 16 Apr 2023 16:45:59 +0000 (18:45 +0200)]
Let resource profiles finish their initialization by themselves and kill presolve

12 months agoNo need to presolve the models to finish their initialization nowadays
Martin Quinson [Sun, 16 Apr 2023 16:31:13 +0000 (18:31 +0200)]
No need to presolve the models to finish their initialization nowadays

I think that this was a leftover of the good old C times.

12 months agoOnly fire on_platform_created after creating the platform, not after loading the...
Martin Quinson [Sun, 16 Apr 2023 10:23:18 +0000 (12:23 +0200)]
Only fire on_platform_created after creating the platform, not after loading the deployment

12 months agoAdd a target to recompile all ns3 tests (and only them)
Martin Quinson [Sun, 16 Apr 2023 09:03:31 +0000 (11:03 +0200)]
Add a target to recompile all ns3 tests (and only them)

12 months agorename create to init. add init with name only. add setters
Adrien Gougeon [Sun, 16 Apr 2023 08:41:16 +0000 (10:41 +0200)]
rename create to init. add init with name only. add setters

12 months agoMake sure that we never have a 0 transition at the end of the stack
Martin Quinson [Sat, 15 Apr 2023 22:38:08 +0000 (00:38 +0200)]
Make sure that we never have a 0 transition at the end of the stack

12 months agoAlso send the disabled transitions over: UDPOR needs it
Martin Quinson [Sat, 15 Apr 2023 21:50:48 +0000 (23:50 +0200)]
Also send the disabled transitions over: UDPOR needs it

12 months agoMore informative message on system error
Martin Quinson [Sat, 15 Apr 2023 21:40:11 +0000 (23:40 +0200)]
More informative message on system error

12 months agoMore defensive programing style
Martin Quinson [Fri, 14 Apr 2023 12:21:47 +0000 (14:21 +0200)]
More defensive programing style

12 months agoadd missing '&' causing temporary value to be modified
Adrien Gougeon [Fri, 14 Apr 2023 10:37:41 +0000 (12:37 +0200)]
add missing '&' causing temporary value to be modified

12 months agorename on_start/on_end functions call to on_this_start/on_this_end. add on_start_cb...
Adrien Gougeon [Fri, 14 Apr 2023 09:24:00 +0000 (11:24 +0200)]
rename on_start/on_end functions call to on_this_start/on_this_end. add on_start_cb and on_end_cb

12 months agoTrust the config system to check that only valid values are used
Martin Quinson [Thu, 13 Apr 2023 21:51:41 +0000 (23:51 +0200)]
Trust the config system to check that only valid values are used

12 months agoDisable coverage on circleci.
Arnaud Giersch [Wed, 12 Apr 2023 20:02:34 +0000 (22:02 +0200)]
Disable coverage on circleci.

It seems that it is not used and it slows down the tests.

[ci-skip]

12 months agoMake this example valgrind-clean
Martin Quinson [Wed, 12 Apr 2023 20:46:30 +0000 (22:46 +0200)]
Make this example valgrind-clean

12 months agoFurther cosmetics in that example, adding a helper function to s4u on the way
Martin Quinson [Wed, 12 Apr 2023 19:37:05 +0000 (21:37 +0200)]
Further cosmetics in that example, adding a helper function to s4u on the way

12 months agosimplify the example now that host can be set to serial
Fred Suter [Wed, 12 Apr 2023 18:19:28 +0000 (14:19 -0400)]
simplify the example now that host can be set to serial

12 months agoUse host->set_concurrency_limit(1) in an example where it makes sense
Martin Quinson [Wed, 12 Apr 2023 15:58:18 +0000 (17:58 +0200)]
Use host->set_concurrency_limit(1) in an example where it makes sense

12 months agoDocument a bit the MC changes
Martin Quinson [Wed, 12 Apr 2023 15:49:30 +0000 (17:49 +0200)]
Document a bit the MC changes

12 months agoAllow to set a concurrency limit on disks and hosts
Martin Quinson [Wed, 12 Apr 2023 15:43:10 +0000 (17:43 +0200)]
Allow to set a concurrency limit on disks and hosts

12 months agoInline Exploration::system_error.
Arnaud Giersch [Wed, 12 Apr 2023 12:25:33 +0000 (14:25 +0200)]
Inline Exploration::system_error.

12 months agoRemove useless specialized exceptions from simgrid::mc.
Arnaud Giersch [Wed, 12 Apr 2023 12:23:15 +0000 (14:23 +0200)]
Remove useless specialized exceptions from simgrid::mc.

12 months agoUse an exception on Exploration::system_exit().
Arnaud Giersch [Wed, 12 Apr 2023 12:08:34 +0000 (14:08 +0200)]
Use an exception on Exploration::system_exit().

The goal is to use RAII to free the memory on exit, and get cleaner valgrind reports.

12 months agoSonar...
Arnaud Giersch [Wed, 12 Apr 2023 09:38:20 +0000 (11:38 +0200)]
Sonar...

12 months agomissing virtual destructor
Adrien Gougeon [Wed, 12 Apr 2023 07:59:11 +0000 (09:59 +0200)]
missing virtual destructor

12 months agofix distcheck
Adrien Gougeon [Tue, 11 Apr 2023 21:39:40 +0000 (23:39 +0200)]
fix distcheck

12 months agomissing lib
Adrien Gougeon [Tue, 11 Apr 2023 21:18:36 +0000 (23:18 +0200)]
missing lib

12 months agoclang-format
Adrien Gougeon [Tue, 11 Apr 2023 14:33:21 +0000 (16:33 +0200)]
clang-format

12 months agoadd prog_ns3 to manifest
Adrien Gougeon [Tue, 11 Apr 2023 14:30:27 +0000 (16:30 +0200)]
add prog_ns3 to manifest

12 months agoadd operation examples
Adrien Gougeon [Tue, 11 Apr 2023 13:48:40 +0000 (15:48 +0200)]
add operation examples

12 months agoseveral updates to plugin operation
Adrien Gougeon [Tue, 11 Apr 2023 13:48:13 +0000 (15:48 +0200)]
several updates to plugin operation

12 months agoadd operation to plugin doc
Adrien Gougeon [Tue, 11 Apr 2023 13:44:56 +0000 (15:44 +0200)]
add operation to plugin doc

12 months agoadd operation to manifest
Adrien Gougeon [Tue, 11 Apr 2023 13:43:43 +0000 (15:43 +0200)]
add operation to manifest

12 months agofix bad type comparison
Adrien Gougeon [Fri, 7 Apr 2023 09:00:05 +0000 (11:00 +0200)]
fix bad type comparison

12 months agoadd operation plugin
Adrien Gougeon [Wed, 5 Apr 2023 11:52:22 +0000 (13:52 +0200)]
add operation plugin

13 months agoAssignment operators should return non-"const" references (sonar).
Arnaud Giersch [Tue, 11 Apr 2023 13:26:28 +0000 (15:26 +0200)]
Assignment operators should return non-"const" references (sonar).

Also enfore C++ "rule-of-three".

13 months agoMark functions as "const" (sonar).
Arnaud Giersch [Tue, 11 Apr 2023 13:26:28 +0000 (15:26 +0200)]
Mark functions as "const" (sonar).

13 months agoUse std::string (sonar).
Arnaud Giersch [Tue, 11 Apr 2023 13:26:28 +0000 (15:26 +0200)]
Use std::string (sonar).

13 months agoMisc sonar issues.
Arnaud Giersch [Tue, 11 Apr 2023 13:26:28 +0000 (15:26 +0200)]
Misc sonar issues.