basic tree

This commit is contained in:
Mike J Innes 2017-11-02 12:09:09 +00:00
parent 7e9468d8f8
commit 8b05317895
3 changed files with 14 additions and 0 deletions

View File

@ -6,3 +6,4 @@ NNlib
ForwardDiff
Requires
ZipFile
AbstractTrees

View File

@ -3,5 +3,6 @@ module Batches
import ..Flux
include("batch.jl")
include("tree.jl")
end

12
src/batches/tree.jl Normal file
View File

@ -0,0 +1,12 @@
using AbstractTrees
struct Tree{T}
value::T
children::Vector{Tree{T}}
end
Tree(x::T, xs::Vector{Tree{T}} = Tree{T}[]) where T = Tree{T}(x, xs)
Tree(x::T, xs::Tree{T}...) where T = Tree{T}(x, [xs...])
AbstractTrees.children(t::Tree) = t.children
AbstractTrees.printnode(io::IO, t::Tree) = show(io, t.value)