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

shape.paramshape.ParamShapeTupled.scala Maven / Gradle / Ivy

The newest version!
package kuzminki.shape

import scala.annotation.nowarn
import kuzminki.column.TypeCol


class ParamShape2[P1, P2](
    shape: Tuple2[TypeCol[P1], TypeCol[P2]]
  ) extends ParamShape[Tuple2[P1, P2]] {

  val size = 2

  val cols = shape match {
    case (col1, col2) =>
      Vector(col1, col2)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2) =>
      new ParamConv2(col1.conv, col2.conv)
  }
}

class ParamShape3[P1, P2, P3](
    shape: Tuple3[TypeCol[P1], TypeCol[P2], TypeCol[P3]]
  ) extends ParamShape[Tuple3[P1, P2, P3]] {

  val size = 3

  val cols = shape match {
    case (col1, col2, col3) =>
      Vector(col1, col2, col3)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3) =>
      new ParamConv3(col1.conv, col2.conv, col3.conv)
  }
}

class ParamShape4[P1, P2, P3, P4](
    shape: Tuple4[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4]]
  ) extends ParamShape[Tuple4[P1, P2, P3, P4]] {

  val size = 4

  val cols = shape match {
    case (col1, col2, col3, col4) =>
      Vector(col1, col2, col3, col4)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4) =>
      new ParamConv4(col1.conv, col2.conv, col3.conv, col4.conv)
  }
}

class ParamShape5[P1, P2, P3, P4, P5](
    shape: Tuple5[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5]]
  ) extends ParamShape[Tuple5[P1, P2, P3, P4, P5]] {

  val size = 5

  val cols = shape match {
    case (col1, col2, col3, col4, col5) =>
      Vector(col1, col2, col3, col4, col5)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5) =>
      new ParamConv5(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv)
  }
}

class ParamShape6[P1, P2, P3, P4, P5, P6](
    shape: Tuple6[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6]]
  ) extends ParamShape[Tuple6[P1, P2, P3, P4, P5, P6]] {

  val size = 6

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6) =>
      Vector(col1, col2, col3, col4, col5, col6)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6) =>
      new ParamConv6(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv)
  }
}

class ParamShape7[P1, P2, P3, P4, P5, P6, P7](
    shape: Tuple7[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7]]
  ) extends ParamShape[Tuple7[P1, P2, P3, P4, P5, P6, P7]] {

  val size = 7

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7) =>
      Vector(col1, col2, col3, col4, col5, col6, col7)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7) =>
      new ParamConv7(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv)
  }
}

class ParamShape8[P1, P2, P3, P4, P5, P6, P7, P8](
    shape: Tuple8[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8]]
  ) extends ParamShape[Tuple8[P1, P2, P3, P4, P5, P6, P7, P8]] {

  val size = 8

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8) =>
      new ParamConv8(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv)
  }
}

class ParamShape9[P1, P2, P3, P4, P5, P6, P7, P8, P9](
    shape: Tuple9[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8], TypeCol[P9]]
  ) extends ParamShape[Tuple9[P1, P2, P3, P4, P5, P6, P7, P8, P9]] {

  val size = 9

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8, col9)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9) =>
      new ParamConv9(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv, col9.conv)
  }
}

class ParamShape10[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](
    shape: Tuple10[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8], TypeCol[P9], TypeCol[P10]]
  ) extends ParamShape[Tuple10[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10]] {

  val size = 10

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8, col9, col10)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10) =>
      new ParamConv10(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv, col9.conv, col10.conv)
  }
}

class ParamShape11[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11](
    shape: Tuple11[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8], TypeCol[P9], TypeCol[P10], TypeCol[P11]]
  ) extends ParamShape[Tuple11[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11]] {

  val size = 11

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11) =>
      new ParamConv11(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv, col9.conv, col10.conv, col11.conv)
  }
}

class ParamShape12[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12](
    shape: Tuple12[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8], TypeCol[P9], TypeCol[P10], TypeCol[P11], TypeCol[P12]]
  ) extends ParamShape[Tuple12[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12]] {

  val size = 12

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12) =>
      new ParamConv12(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv, col9.conv, col10.conv, col11.conv, col12.conv)
  }
}

class ParamShape13[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13](
    shape: Tuple13[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8], TypeCol[P9], TypeCol[P10], TypeCol[P11], TypeCol[P12], TypeCol[P13]]
  ) extends ParamShape[Tuple13[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13]] {

  val size = 13

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13) =>
      new ParamConv13(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv, col9.conv, col10.conv, col11.conv, col12.conv, col13.conv)
  }
}

class ParamShape14[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14](
    shape: Tuple14[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8], TypeCol[P9], TypeCol[P10], TypeCol[P11], TypeCol[P12], TypeCol[P13], TypeCol[P14]]
  ) extends ParamShape[Tuple14[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14]] {

  val size = 14

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14) =>
      new ParamConv14(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv, col9.conv, col10.conv, col11.conv, col12.conv, col13.conv, col14.conv)
  }
}

class ParamShape15[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15](
    shape: Tuple15[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8], TypeCol[P9], TypeCol[P10], TypeCol[P11], TypeCol[P12], TypeCol[P13], TypeCol[P14], TypeCol[P15]]
  ) extends ParamShape[Tuple15[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15]] {

  val size = 15

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15) =>
      new ParamConv15(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv, col9.conv, col10.conv, col11.conv, col12.conv, col13.conv, col14.conv, col15.conv)
  }
}

class ParamShape16[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16](
    shape: Tuple16[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8], TypeCol[P9], TypeCol[P10], TypeCol[P11], TypeCol[P12], TypeCol[P13], TypeCol[P14], TypeCol[P15], TypeCol[P16]]
  ) extends ParamShape[Tuple16[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16]] {

  val size = 16

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16) =>
      new ParamConv16(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv, col9.conv, col10.conv, col11.conv, col12.conv, col13.conv, col14.conv, col15.conv, col16.conv)
  }
}

class ParamShape17[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17](
    shape: Tuple17[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8], TypeCol[P9], TypeCol[P10], TypeCol[P11], TypeCol[P12], TypeCol[P13], TypeCol[P14], TypeCol[P15], TypeCol[P16], TypeCol[P17]]
  ) extends ParamShape[Tuple17[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17]] {

  val size = 17

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17) =>
      new ParamConv17(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv, col9.conv, col10.conv, col11.conv, col12.conv, col13.conv, col14.conv, col15.conv, col16.conv, col17.conv)
  }
}

class ParamShape18[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18](
    shape: Tuple18[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8], TypeCol[P9], TypeCol[P10], TypeCol[P11], TypeCol[P12], TypeCol[P13], TypeCol[P14], TypeCol[P15], TypeCol[P16], TypeCol[P17], TypeCol[P18]]
  ) extends ParamShape[Tuple18[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18]] {

  val size = 18

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18) =>
      new ParamConv18(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv, col9.conv, col10.conv, col11.conv, col12.conv, col13.conv, col14.conv, col15.conv, col16.conv, col17.conv, col18.conv)
  }
}

class ParamShape19[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19](
    shape: Tuple19[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8], TypeCol[P9], TypeCol[P10], TypeCol[P11], TypeCol[P12], TypeCol[P13], TypeCol[P14], TypeCol[P15], TypeCol[P16], TypeCol[P17], TypeCol[P18], TypeCol[P19]]
  ) extends ParamShape[Tuple19[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19]] {

  val size = 19

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18, col19) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18, col19)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18, col19) =>
      new ParamConv19(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv, col9.conv, col10.conv, col11.conv, col12.conv, col13.conv, col14.conv, col15.conv, col16.conv, col17.conv, col18.conv, col19.conv)
  }
}

class ParamShape20[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20](
    shape: Tuple20[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8], TypeCol[P9], TypeCol[P10], TypeCol[P11], TypeCol[P12], TypeCol[P13], TypeCol[P14], TypeCol[P15], TypeCol[P16], TypeCol[P17], TypeCol[P18], TypeCol[P19], TypeCol[P20]]
  ) extends ParamShape[Tuple20[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20]] {

  val size = 20

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18, col19, col20) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18, col19, col20)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18, col19, col20) =>
      new ParamConv20(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv, col9.conv, col10.conv, col11.conv, col12.conv, col13.conv, col14.conv, col15.conv, col16.conv, col17.conv, col18.conv, col19.conv, col20.conv)
  }
}

class ParamShape21[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21](
    shape: Tuple21[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8], TypeCol[P9], TypeCol[P10], TypeCol[P11], TypeCol[P12], TypeCol[P13], TypeCol[P14], TypeCol[P15], TypeCol[P16], TypeCol[P17], TypeCol[P18], TypeCol[P19], TypeCol[P20], TypeCol[P21]]
  ) extends ParamShape[Tuple21[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21]] {

  val size = 21

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18, col19, col20, col21) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18, col19, col20, col21)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18, col19, col20, col21) =>
      new ParamConv21(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv, col9.conv, col10.conv, col11.conv, col12.conv, col13.conv, col14.conv, col15.conv, col16.conv, col17.conv, col18.conv, col19.conv, col20.conv, col21.conv)
  }
}

class ParamShape22[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22](
    shape: Tuple22[TypeCol[P1], TypeCol[P2], TypeCol[P3], TypeCol[P4], TypeCol[P5], TypeCol[P6], TypeCol[P7], TypeCol[P8], TypeCol[P9], TypeCol[P10], TypeCol[P11], TypeCol[P12], TypeCol[P13], TypeCol[P14], TypeCol[P15], TypeCol[P16], TypeCol[P17], TypeCol[P18], TypeCol[P19], TypeCol[P20], TypeCol[P21], TypeCol[P22]]
  ) extends ParamShape[Tuple22[P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22]] {

  val size = 22

  val cols = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18, col19, col20, col21, col22) =>
      Vector(col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18, col19, col20, col21, col22)
  }

  @nowarn
  val conv = shape match {
    case (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18, col19, col20, col21, col22) =>
      new ParamConv22(col1.conv, col2.conv, col3.conv, col4.conv, col5.conv, col6.conv, col7.conv, col8.conv, col9.conv, col10.conv, col11.conv, col12.conv, col13.conv, col14.conv, col15.conv, col16.conv, col17.conv, col18.conv, col19.conv, col20.conv, col21.conv, col22.conv)
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy