Basix
polynomials.h
1// Copyright (c) 2021 Matthew Scroggs
2// FEniCS Project
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
7#include "cell.h"
8#include "mdspan.hpp"
9#include <array>
10#include <utility>
11#include <vector>
12
15{
17enum class type
18{
19 legendre = 0,
20 bernstein = 1,
21};
22
31std::pair<std::vector<double>, std::array<std::size_t, 2>>
32tabulate(polynomials::type polytype, cell::type celltype, int d,
33 std::experimental::mdspan<const double,
34 std::experimental::dextents<std::size_t, 2>>
35 x);
36
43int dim(polynomials::type polytype, cell::type cell, int d);
44
45} // namespace basix::polynomials
type
Cell type.
Definition: cell.h:20
Polynomials.
Definition: polynomials.h:15
std::pair< std::vector< double >, std::array< std::size_t, 2 > > tabulate(polynomials::type polytype, cell::type celltype, int d, std::experimental::mdspan< const double, std::experimental::dextents< std::size_t, 2 > > x)
Tabulate a set of polynomials.
Definition: polynomials.cpp:109
int dim(polynomials::type polytype, cell::type cell, int d)
Dimension of a polynomial space.
Definition: polynomials.cpp:133
type
Variants of a Lagrange space that can be created.
Definition: polynomials.h:18