// DO NOT EDIT -- generated by mk-ops.awk
#if defined (HAVE_CONFIG_H)
#  include "config.h"
#endif
#include "Array-util.h"
#include "mx-m-cm.h"
#include "mx-op-defs.h"
#include "boolMatrix.h"
#include "boolNDArray.h"
#include "CMatrix.h"
#include "dMatrix.h"

ComplexMatrix
operator + (const Matrix& m1, const ComplexMatrix& m2)
{
  return do_mm_binary_op<ComplexMatrix::element_type, Matrix::element_type, ComplexMatrix::element_type> (m1, m2, mx_inline_add, mx_inline_add, mx_inline_add, "operator +");
}

ComplexMatrix
operator - (const Matrix& m1, const ComplexMatrix& m2)
{
  return do_mm_binary_op<ComplexMatrix::element_type, Matrix::element_type, ComplexMatrix::element_type> (m1, m2, mx_inline_sub, mx_inline_sub, mx_inline_sub, "operator -");
}

ComplexMatrix
product (const Matrix& m1, const ComplexMatrix& m2)
{
  return do_mm_binary_op<ComplexMatrix::element_type, Matrix::element_type, ComplexMatrix::element_type> (m1, m2, mx_inline_mul, mx_inline_mul, mx_inline_mul, "product");
}

ComplexMatrix
quotient (const Matrix& m1, const ComplexMatrix& m2)
{
  return do_mm_binary_op<ComplexMatrix::element_type, Matrix::element_type, ComplexMatrix::element_type> (m1, m2, mx_inline_div, mx_inline_div, mx_inline_div, "quotient");
}
MM_CMP_OPS (Matrix, ComplexMatrix)
MM_BOOL_OPS (Matrix, ComplexMatrix)
