<commit_before>package pellucid.pframe

import scala.math.ScalaNumericAnyConversions
import scala.reflect.{ ClassTag, classTag }
import scala.{ specialized => spec }
import scala.util.Try

import spire.math.{ Rational, Number }

import shapeless._

// Currently support the following number types:
//   - Int
//   - Long
//   - Float
//   - Double
//   - BigInt
//   - BigDecimal
//   - Rational
//   - Number

trait NumericColumnTyper[@spec(Int,Long,Float,Double) A] extends ColumnTyper[A] {
  def castValue(x: Any): Option[A]
  def castColumn(column: TypedColumn[_]): Option[Column[A]]

  def cast(col: TypedColumn[_]): Column[A] = {
    val column: Column[Any] = col.column<commit_msg>More work on getting viz-api to compile.<commit_after>package pellucid.pframe

import scala.math.ScalaNumericAnyConversions
import scala.reflect.{ ClassTag, classTag }
import scala.{ specialized => spec }
import scala.util.Try

import spire.math.{ Rational, Number }

import shapeless._

// Currently support the following number types:
//   - Int
//   - Long
//   - Float
//   - Double
//   - BigInt
//   - BigDecimal
//   - Rational
//   - Number
//
// TODO: Support Algebraic and Real.

trait NumericColumnTyper[@spec(Int,Long,Float,Double) A] extends ColumnTyper[A] {
  def castValue(x: Any): Option[A]
  def castColumn(column: TypedColumn[_]): Option[Column[A]]

  def cast(col: TypedColumn[_]): Column[A] = {
    val column: Column[Any] = col.column
{'fraction_non_alphanumeric': 0.13444213444213443, 'fraction_numerical': 0.0, 'mean_word_length': 3.5266457680250785, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6198964', 'n_tokens_mistral': 489, 'n_tokens_neox': 480, 'n_words': 120}