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 fasterfmt
library that allows more formating options instead https://github.com/fmtlib/fmt
Changes
-
CMakeLists.txt
get latest fmt version if not found on system and change lib propagation rule to PUBLIC -
unit_tests/CMakeLists.txt
add info if Catch2 found on system for core unit-tests -
pybind_Tensor.cpp
addbackend()
binding -
ReduceMean.hpp
add 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