Warning: This file is not a C or C++ file. It does not have highlighting.

1//===-- include/flang/Runtime/matmul-transpose.h ----------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9// API for optimised MATMUL(TRANSPOSE(a), b)
10
11#ifndef FORTRAN_RUNTIME_MATMUL_TRANSPOSE_H_
12#define FORTRAN_RUNTIME_MATMUL_TRANSPOSE_H_
13#include "flang/Runtime/entry-names.h"
14namespace Fortran::runtime {
15class Descriptor;
16extern "C" {
17
18// The most general MATMUL(TRANSPOSE()). All type and shape information is
19// taken from the arguments' descriptors, and the result is dynamically
20// allocated.
21void RTDECL(MatmulTranspose)(Descriptor &, const Descriptor &,
22 const Descriptor &, const char *sourceFile = nullptr, int line = 0);
23
24// A non-allocating variant; the result's descriptor must be established
25// and have a valid base address.
26void RTDECL(MatmulTransposeDirect)(const Descriptor &, const Descriptor &,
27 const Descriptor &, const char *sourceFile = nullptr, int line = 0);
28} // extern "C"
29} // namespace Fortran::runtime
30#endif // FORTRAN_RUNTIME_MATMUL_TRANSPOSE_H_
31

Warning: This file is not a C or C++ file. It does not have highlighting.

source code of flang/include/flang/Runtime/matmul-transpose.h