mycaule / hinge-patterns

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hinge Patterns

Build Status

Compare ASCII encoding and Hinge encoding.

$ sbt run

A: ArraySeq(65)
   ArraySeq(List(1, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 3, 0, 0, 4, 0, 2))
B: ArraySeq(66)
   ArraySeq(List(1, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 3, 0, 1, 0, 2, 0, 0))
C: ArraySeq(67)
   ArraySeq(List(0, 1, 0, 2, 0, 0, 0, 0, 1, 0, 2, 0))
Hello: ArraySeq(72, 101, 108, 108, 111)
   ArraySeq(List(1, 0, 0, 0, 3, 0, 1, 0, 2, 0, 0, 3, 0, 0, 0, 0, 2), List(0, 0, 2, 0, 1, 0, 0, 3, 0, 1, 0, 2, 0, 0), List(0, 0, 0, 0, 0, 4, 3, 0, 0), List(0, 0, 0, 0, 0, 4, 3, 0, 0), List(0, 0, 0, 1, 0, 2, 0, 0, 0, 1, 0, 2))
1: ArraySeq(49)
   ArraySeq(List(0, 5, 0, 0, 0, 0, 5, 2))
2: ArraySeq(50)
   ArraySeq(List(0, 0, 1, 0, 2, 0, 2, 0, 1, 0, 0))
3: ArraySeq(51)
   ArraySeq(List(0, 0, 2, 0, 1, 0, 0, 3, 0, 1, 0, 2, 0, 0))
42: ArraySeq(52, 50)
   ArraySeq(List(1, 0, 2, 0, 2, 0, 0, 3, 0, 1, 0, 2, 0, 0, 3, 0, 0, 0, 2), List(0, 0, 1, 0, 2, 0, 2, 0, 1, 0, 0))

For example,

// letter 1 needs 8 folds using 0, 2, 5
Seq(0, 5, 0, 0, 0, 0, 5, 2)

// letter X needs 22 folds using 0, 1, 2, 3.
Seq(1, 1, 1, 0, 2, 2, 0, 3, 1, 1, 1, 2, 2, 2, 0, 3, 1, 1, 0, 2, 2, 2)

References

About

License:MIT License


Languages

Language:Scala 100.0%