parameters: (
      A=TensorDef(T1, Batch, S.M, S.K),
      B=TensorDef(T2, Batch, S.K),
      C=TensorDef(U, Batch, S.M, output=True))
docstring: Performs a batched matrix-vector multiplication.
  
    Numeric casting is performed on the operands to the inner multiply, promoting
    them to the same data type as the accumulator/output.
docstring_summary: Performs a batched matrix-vector multiplication.
docstring_tokens: Performs a batched matrix - vector multiplication .
function: def batch_matvec(
      A=TensorDef(T1, Batch, S.M, S.K),
      B=TensorDef(T2, Batch, S.K),
      C=TensorDef(U, Batch, S.M, output=True)):
    """Performs a batched matrix-vector multiplication.
  
    Numeric casting is performed on the operands to the inner multiply, promoting
    them to the same data type as the accumulator/output.
    """
    domain(D.b, D.m, D.k)
    implements(ContractionOpInterface)
    C[D.b, D.m] += TypeFn.cast(U, A[D.b, D.m, D.k]) * TypeFn.cast(U, B[D.b, D.k])
function_tokens: def batch_matvec ( A = TensorDef ( T1 , Batch , S . M , S . K ) , B = TensorDef ( T2 , Batch , S . K ) , C = TensorDef ( U , Batch , S . M , output = True ) ) : domain ( D . b , D . m , D . k ) implements ( ContractionOpInterface ) C [ D . b , D . m ] += TypeFn . cast ( U , A [ D . b , D . m , D . k ] ) * TypeFn . cast ( U , B [ D . b , D . k ] )