UPD: remove 'iostream' and include only what is used
Context
The goal of this MR is three fold:
- Removing unused libraries that can lead to longer compilation time and bigger code
- Including everything that is used following https://google.github.io/styleguide/cppguide.html#Include_What_You_Use and https://google.github.io/styleguide/cppguide.html#Names_and_Order_of_Includes principles
- Removing
<iostream>,<sstream>and<ostream>that are big includes and slow to run for the new fasterfmtlibrary that allows more formating options instead https://github.com/fmtlib/fmt
Changes
-
CMakeLists.txtget latest fmt version if not found on system and change lib propagation rule to PUBLIC -
unit_tests/CMakeLists.txtadd info if Catch2 found on system for core unit-tests -
pybind_Tensor.cppaddbackend()binding -
ReduceMean.hppadd missing default values in constructor - replace stream usage with fmt everywhere and include only what is used
- add backend-agnostic
backward()implementation to Reshape operator
Change in tests_aidge_core binary size
As a result of this MR changes, the aidge_core test binary went from 5'899'032 bytes to 5'902'368, so a slight increase but it was no the binary targeted by these changes.
Edited by Maxence Naud