#ifndef BENCH_FUNCS_BLAS_H
#define BENCH_FUNCS_BLAS_H

#include <vector>

// ===== BLAS-based benchmark functions =====

// (A2) cBLAS dot product
double dot_cblas(const std::vector<double>& x, const std::vector<double>& y);

// (B2) cBLAS matrix–vector product
void matvec_cblas(const std::vector<double>& A, std::size_t M, std::size_t N,
                  const std::vector<double>& x, std::vector<double>& b);

// (C2) cBLAS matrix–matrix product
void matmul_cblas(const std::vector<double>& A, std::size_t M, std::size_t L,
                  const std::vector<double>& B, std::size_t N,
                  std::vector<double>& C);

#endif
