private def findTightestCommonType()

in spark/spark-tensorflow-connector/src/main/scala/org/tensorflow/spark/datasources/tfrecords/TensorFlowInferSchema.scala [206:221]


  private def findTightestCommonType(tt1: DataType, tt2: DataType) : Option[DataType] = {
    val currType = (tt1, tt2) match {
      case (t1, t2) if t1 == t2 => Some(t1)
      case (null, t2) => Some(t2)
      case (t1, null) => Some(t1)

      // Promote types based on numeric precedence
      case (t1, t2) =>
        val t1Precedence = getNumericPrecedence(t1)
        val t2Precedence = getNumericPrecedence(t2)
        val newType = if (t1Precedence > t2Precedence) t1 else t2
        Some(newType)
      case _ => None
    }
    currType
  }