clash-systemverilog-0.7: primitives/CLaSH.Sized.RTree.json
[ { "BlackBox" :
{ "name" : "CLaSH.Sized.RTree.treplicate"
, "type" : "replicate :: SNat d -> a -> RTree d a"
, "templateE" : "'{(2**~LIT[0]) {~TOBV[~ARG[1]][~TYP[1]]}}"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.RTree.textract"
, "type" : "textract :: RTree 0 a -> a"
, "templateD" :
"// textract begin
~SIGD[~GENSYM[tree][0]][0];
assign ~SYM[0] = ~ARG[0];
assign ~RESULT = ~FROMBV[~SYM[0][\\0\\]][~TYPO];
// textract end"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.RTree.tsplit"
, "type" : "tsplit:: RTree (d+1) a -> (RTree d a,RTree d a)"
, "templateD" :
"// tsplit begin
~SIGD[~GENSYM[tree][0]][0];
assign ~SYM[0] = ~ARG[0];
assign ~RESULT = ~TOBV[~SYM[0]][~TYP[0]];
// tsplit end"
}
}
]