Skip to content

Commit

Permalink
fixed encoding/decoding of Data
Browse files Browse the repository at this point in the history
  • Loading branch information
rssh committed Oct 5, 2024
1 parent 59da889 commit ae0a73e
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions shared/src/main/scala/scalus/sir/FlatInstances.scala
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ object FlatInstantces:

def bitSize(a: Data): Int = a match
case Data.Constr(constr, args) =>
width + summon[Flat[Long]].bitSize(constr) + args.map(bitSize).sum
width + summon[Flat[Long]].bitSize(constr) + summon[Flat[List[Data]]].bitSize(args)
case Data.Map(values) =>
width + values.map { case (k, v) => bitSize(k) + bitSize(v) }.sum
case Data.List(values) => width + values.map(bitSize).sum
width + summom[Flat[List[(Data,Data)]]].bitSize(values)
case Data.List(values) => width + summon[Flat[List[Data]]].bitSize(values)
case Data.I(value) => width + summon[Flat[BigInt]].bitSize(value)
case Data.B(value) => width + summon[Flat[builtin.ByteString]].bitSize(value)

Expand All @@ -37,13 +37,13 @@ object FlatInstantces:
case Data.Constr(constr, args) =>
enc.bits(width, 0)
summon[Flat[Long]].encode(constr, enc)
args.foreach(a => encode(a, enc))
summon[Flat[List[Data]]].encode(args, enc)
case Data.Map(values) =>
enc.bits(width, 1)
values.foreach { case (k, v) => encode(k, enc); encode(v, enc) }
summon[Flat[List[(Data, Data)]].encode(values, enc)
case Data.List(values) =>
enc.bits(width, 2)
values.foreach(a => encode(a, enc))
summon[Flat[List[Data]]].encode(values, enc)
case Data.I(value) =>
enc.bits(width, 3)
summon[Flat[BigInt]].encode(value, enc)
Expand Down

0 comments on commit ae0a73e

Please sign in to comment.