[ { "BlackBox" :
    { "name"      : "Clash.Sized.RTree.treplicate"
    , "workInfo"  : "Never"
    , "kind"      : "Expression"
    , "type"      : "replicate :: SNat n -> a -> RTree d a"
    , "template"  : "~TYPMO'(0 to (2**~LIT[0])-1 => ~IF~VIVADO~THEN~TOBV[~ARG[1]][~TYP[1]]~ELSE~ARG[1]~FI)"
    }
  }
, { "BlackBox" :
    { "name"      : "Clash.Sized.RTree.textract"
    , "workInfo"  : "Never"
    , "kind"      : "Expression"
    , "type"      : "textract :: RTree 0 a -> a"
    , "template"  : "~IF ~VIVADO ~THEN ~FROMBV[~VAR[t][0](0)][~TYPO] ~ELSE ~VAR[t][0](0) ~FI"
    }
  }
, { "BlackBox" :
    { "name"      : "Clash.Sized.RTree.tsplit"
    , "workInfo"  : "Never"
    , "kind"      : "Expression"
    , "type"      : "tsplit:: RTree (d+1) a -> (RTree d a,RTree d a)"
    , "template"  : "(~VAR[t][0](0 to (2**(~DEPTH[~TYP[0]]-1))-1) ,~VAR[t][0](2**(~DEPTH[~TYP[0]]-1) to (2**~DEPTH[~TYP[0]])-1))"
    }
  }
]