All Downloads are FREE. Search and download functionalities are using the official Maven repository.

spinal.lib.tools.binarySystem.LiteralToBinst.scala Maven / Gradle / Ivy

The newest version!
package spinal.lib.tools.binarySystem

object LiteralToBinInts {
  def listPad(x: List[Int], size: Int): List[Int] = {
    if(size <= x.size){
      x
    } else {
      List.fill(size - x.size)(0) ++ x
    }
  }

  def BigIntToDecInts(value: BigInt, alignNum: Int = 0): List[Int] = {
    val ret = value.toString(radix = 10).map(_.asDigit).toList
    listPad(ret, alignNum).reverse
  }

  def BigIntToOctInts(value: BigInt, alignNum: Int = 0): List[Int] = {
    LiteralToString.OctString(value, alignNum).map(_.asDigit).toList.reverse
  }

  def BigIntToBinInts(value: BigInt, alignNum: Int = 0): List[Int] = {
    LiteralToString.BinString(value, alignNum).map(_.asDigit).toList.reverse
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy