Update.
authorFrancois Fleuret <francois@fleuret.org>
Wed, 11 Jan 2017 08:32:22 +0000 (09:32 +0100)
committerFrancois Fleuret <francois@fleuret.org>
Wed, 11 Jan 2017 08:32:22 +0000 (09:32 +0100)
dagnn.lua
test-dagnn.lua

index a6414b3..2ed25c5 100755 (executable)
--- a/dagnn.lua
+++ b/dagnn.lua
@@ -46,8 +46,11 @@ function DAG:setInput(i)
    self.inputModules = i
    self:applyOnModules(
       function(m)
-         if (not self.succ[m] or #self.succ[m] == 0) or (self.pred[m] and #self.pred[m] > 0) then
-            error('Invalid input edges.')
+         if not self.succ[m] or #self.succ[m] == 0 then
+            error('Input modules must have outgoing  edges.')
+         end
+         if self.pred[m] and #self.pred[m] > 0 then
+            error('Input modules cannog have incoming edges.')
          end
       end,
       self.inputModules
@@ -59,8 +62,11 @@ function DAG:setOutput(o)
    self.outputModules = o
    self:applyOnModules(
       function(m)
-         if (not self.pred[m] or #self.pred[m] == 0) or (self.succ[m] and #self.succ[m] > 0) then
-            error('Invalid output edges.')
+         if not self.pred[m] or #self.pred[m] == 0 then
+            error('Output module must have incoming edges.')
+         end
+         if self.succ[m] and #self.succ[m] > 0 then
+            error('Output module cannot have outgoing edges.')
          end
       end,
       self.outputModules
index 6c09f95..3b1e66a 100755 (executable)
@@ -43,7 +43,7 @@ g:addEdge(b, d)
 g:addEdge(d, f)
 
 g:setInput({a})
-g:setOutput({e,f})
+g:setOutput({e, f})
 
 g:print()