[ { "BlackBox" : { "name" : "Clash.Sized.Internal.Unsigned.rotateL#" , "kind" : "Declaration" , "type" : "rotateL# :: KnownNat n => Unsigned n -> Int -> Unsigned n" , "template" : "// rotateL begin logic [2*~SIZE[~TYPO]-1:0] ~GENSYM[u][0]; assign ~SYM[0] = {~ARG[1],~ARG[1]} << (~ARG[2] % ~SIZE[~TYPO]); assign ~RESULT = ~SYM[0][2*~SIZE[~TYPO]-1 : ~SIZE[~TYPO]]; // rotateL end" } } , { "BlackBox" : { "name" : "Clash.Sized.Internal.Unsigned.rotateR#" , "kind" : "Declaration" , "type" : "rotateR# :: KnownNat n => Unsigned n -> Int -> Unsigned n" , "template" : "// rotateR begin logic [2*~SIZE[~TYPO]-1:0] ~GENSYM[u][0]; assign ~SYM[0] = {~ARG[1],~ARG[1]} >> (~ARG[2] % ~SIZE[~TYPO]); assign ~RESULT = ~SYM[0][~SIZE[~TYPO]-1 : 0]; // rotateR end" } } ]