def featureNames()

in core/src/main/scala/com/spotify/featran/FeatureSpec.scala [362:386]


  def featureNames(c: ARRAY): Seq[String] = {
    require(n == c.length)
    val b = Seq.newBuilder[String]
    var i = 0
    val m = mutable.Map.empty[String, Seq[String]]
    while (i < n) {
      val f = features(i)
      val names = f.unsafeFeatureNames(c(i))
      b ++= names
      val name = f.transformer.name
      if (crossings.keys.contains(name)) {
        m(name) = names
      }
      i += 1
    }
    crossings.map.keys.foreach { case (n1, n2) =>
      for {
        x <- m(n1)
        y <- m(n2)
      } {
        b += Crossings.name(x, y)
      }
    }
    b.result()
  }