Skip to content

Commit 32ab02c

Browse files
authored
Merge pull request #742 from htm-community/cleanup_exceptions
Cleanup exceptions
2 parents 1aca435 + 17fdb7c commit 32ab02c

25 files changed

+151
-395
lines changed

bindings/py/cpp_src/bindings/engine/py_Engine.cpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,16 @@ PyBind11 bindings for Engine classes
3030
#include <pybind11/stl.h>
3131

3232
#include <htm/os/Timer.hpp>
33-
3433
#include <htm/ntypes/Array.hpp>
34+
#include <htm/utils/Log.hpp>
3535

3636
#include <htm/engine/Link.hpp>
3737
#include <htm/engine/Network.hpp>
3838
#include <htm/engine/Region.hpp>
3939
#include <htm/engine/Input.hpp>
4040
#include <htm/engine/Spec.hpp>
4141
#include <htm/types/Sdr.hpp>
42+
4243
#include <plugin/PyBindRegion.hpp>
4344
#include <plugin/RegisteredRegionImplPy.hpp>
4445

@@ -468,13 +469,13 @@ namespace htm_ext
468469
, py::arg("srcOutput") = "", py::arg("destInput") = ""
469470
, py::arg("propagationDelay") = 0);
470471

471-
py::enum_<LogLevel>(m, "LogLevel", py::arithmetic(), "An enumeration of logging levels.")
472-
.value("None", LogLevel::LogLevel_None) // default
473-
.value("Minimal", LogLevel::LogLevel_Minimal)
474-
.value("Normal", LogLevel::LogLevel_Normal)
475-
.value("Verbose", LogLevel::LogLevel_Verbose)
472+
py::enum_<htm::LogLevel>(m, "LogLevel", "An enumeration of logging levels.")
473+
.value("None", htm::LogLevel::LogLevel_None) // default
474+
.value("Minimal", htm::LogLevel::LogLevel_Minimal)
475+
.value("Normal", htm::LogLevel::LogLevel_Normal)
476+
.value("Verbose", htm::LogLevel::LogLevel_Verbose)
476477
.export_values();
477-
py_Network.def("setLogLevel", &htm::Network::setLogLevel);
478+
py_Network.def_static("setLogLevel", &htm::Network::setLogLevel, py::arg("level") = htm::LogLevel::LogLevel_None);
478479

479480

480481
// plugin registration

bindings/py/tests/regions/network_test.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -292,10 +292,10 @@ def testBuiltInRegions(self):
292292
"""
293293
This sets up a network with built-in regions.
294294
"""
295-
295+
import htm
296296
net = engine.Network()
297-
net.setLogLevel(engine.Verbose) # Verbose shows data inputs and outputs while executing.
298-
297+
#net.setLogLevel(htm.bindings.engine_internal.LogLevel.Verbose) # Verbose shows data inputs and outputs while executing.
298+
299299
encoder = net.addRegion("encoder", "ScalarSensor", "{n: 6, w: 2}");
300300
sp = net.addRegion("sp", "SPRegion", "{columnCount: 200}");
301301
tm = net.addRegion("tm", "TMRegion", "");
@@ -316,6 +316,8 @@ def testBuiltInRegions(self):
316316

317317
tm_output = tm.getOutputArray("predictedActiveCells")
318318
sdr = tm_output.getSDR()
319+
print(sdr.sparse)
320+
print(EXPECTED_RESULT3)
319321
self.assertTrue(np.array_equal(sdr.sparse, EXPECTED_RESULT3))
320322

321323
def testExecuteCommand1(self):

src/CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,10 +167,6 @@ set(types_files
167167
set(utils_files
168168
htm/utils/GroupBy.hpp
169169
htm/utils/Log.hpp
170-
htm/utils/LoggingException.cpp
171-
htm/utils/LoggingException.hpp
172-
htm/utils/LogItem.cpp
173-
htm/utils/LogItem.hpp
174170
htm/utils/MovingAverage.cpp
175171
htm/utils/MovingAverage.hpp
176172
htm/utils/Random.cpp

src/htm/engine/Input.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ void Input::uninitialize() {
330330

331331
namespace htm {
332332
std::ostream &operator<<(std::ostream &f, const Input &d) {
333-
f << "Input: " << d.getRegion()->getName() << "." << d.getName() << " " << d.getData();
333+
f << "Input: " << d.getRegion()->getName() << "." << d.getName() << " " << d.getData();
334334
return f;
335335
}
336336
}

src/htm/engine/Link.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#include <htm/ntypes/BasicType.hpp>
2828
#include <htm/utils/Log.hpp>
2929

30-
// By calling LogItem::setLogLevel(LogLevel_Verbose)
30+
// By calling Network::setLogLevel(LogLevel_Verbose)
3131
// you can enable the NTA_DEBUG macros below.
3232

3333
namespace htm {
@@ -187,7 +187,7 @@ void Link::compute() {
187187
const Array &src = propagationDelay_ ? propagationDelayBuffer_.front() : src_->getData();
188188
Array &dest = dest_->getData();
189189

190-
NTA_DEBUG << "Link::compute: " << getMoniker() << "; copying to dest input"
190+
NTA_DEBUG << "compute Link: copying " << getMoniker()
191191
<< "; delay=" << propagationDelay_ << "; size=" << src.getCount()
192192
<< " type=" << BasicType::getName(src.getType())
193193
<< " --> " << BasicType::getName(dest.getType()) << std::endl;

src/htm/engine/Network.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,22 @@ namespace htm {
4040

4141
class RegisteredRegionImpl;
4242

43+
thread_local LogLevel NTA_LOG_LEVEL;
44+
45+
4346
Network::Network() {
4447
commonInit();
4548
}
4649

4750
// move constructor
48-
Network::Network(Network && n) {
51+
Network::Network(Network &&n) noexcept {
4952
regions_ = std::move(n.regions_);
5053
minEnabledPhase_ = n.minEnabledPhase_;
5154
maxEnabledPhase_ = n.maxEnabledPhase_;
5255
phaseInfo_ = std::move(n.phaseInfo_);
5356
callbacks_ = n.callbacks_;
5457
iteration_ = n.iteration_;
55-
}
58+
}
5659

5760
Network::Network(const std::string& filename) {
5861
commonInit();

src/htm/engine/Network.hpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ class Link;
6767
/**
6868
* Cannot copy or assign a Network object. But can be moved.
6969
*/
70-
Network(Network&&); // move is allowed
70+
Network(Network &&) noexcept; // move is allowed
7171
Network(const Network&) = delete;
7272
void operator=(const Network&) = delete;
7373

@@ -375,12 +375,14 @@ class Link;
375375
*/
376376
void resetProfiling();
377377

378-
/**
379-
* Set one of the debug levels: LogLevel_None = 0, LogLevel_Minimal, LogLevel_Normal, LogLevel_Verbose
378+
/**
379+
* Set one of the debug levels: LogLevel_None = 0, LogLevel_Minimal, LogLevel_Normal, LogLevel_Verbose
380380
*/
381-
void setLogLevel(LogLevel level) {
382-
LogItem::setLogLevel(level);
383-
}
381+
static LogLevel setLogLevel(LogLevel level) {
382+
LogLevel prev = NTA_LOG_LEVEL;
383+
NTA_LOG_LEVEL = level;
384+
return prev;
385+
}
384386

385387

386388
/**

src/htm/engine/Output.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ void Output::removeLink(const std::shared_ptr<Link>& link) {
118118

119119
namespace htm {
120120
std::ostream &operator<<(std::ostream &f, const Output &d) {
121-
f << "Output:" << d.getRegion()->getName() << "." << d.getName() << " " << d.getData();
121+
f << "Output: " << d.getRegion()->getName() << "." << d.getName() << " " << d.getData();
122122
return f;
123123
}
124124
}

src/htm/engine/RegionImpl.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,9 @@ std::shared_ptr<Input> RegionImpl::getInput(const std::string &name) const {
243243
}
244244

245245
std::shared_ptr<Output> RegionImpl::getOutput(const std::string &name) const {
246-
return region_->getOutput(name);
246+
auto out = region_->getOutput(name);
247+
NTA_CHECK(out != nullptr) << "Requested output not found: " << name;
248+
return out;
247249
}
248250
Dimensions RegionImpl::getInputDimensions(const std::string &name) const {
249251
return region_->getInputDimensions(name);

src/htm/regions/SPRegion.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ void SPRegion::compute() {
158158
// Call SpatialPooler compute
159159
sp_->compute(inputBuffer.getSDR(), args_.learningMode, outputBuffer.getSDR());
160160

161-
161+
// trace facility
162162
NTA_DEBUG << "compute " << *getOutput("bottomUpOut") << "\n";
163163

164164
}

0 commit comments

Comments
 (0)