Skip to content

Commit bedc41c

Browse files
Rename MDSPAN_IMPL_STANDARD_NAMESPACE -> md (#3655)
Co-authored-by: Garth N. Wells <gnw20@cam.ac.uk>
1 parent 98bcd26 commit bedc41c

30 files changed

+126
-299
lines changed

cpp/demo/hyperelasticity/main.cpp

+2-5
Original file line numberDiff line numberDiff line change
@@ -198,11 +198,8 @@ int main(int argc, char* argv[])
198198

199199
// New coordinates
200200
std::vector<U> fdata(3 * x.extent(1), 0.0);
201-
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
202-
U, MDSPAN_IMPL_STANDARD_NAMESPACE::extents<
203-
std::size_t, 3,
204-
MDSPAN_IMPL_STANDARD_NAMESPACE::dynamic_extent>>
205-
f(fdata.data(), 3, x.extent(1));
201+
md::mdspan<U, md::extents<std::size_t, 3, md::dynamic_extent>> f(
202+
fdata.data(), 3, x.extent(1));
206203
for (std::size_t p = 0; p < x.extent(1); ++p)
207204
{
208205
U x1 = x(1, p);

cpp/demo/interpolation_different_meshes/main.cpp

+2-3
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,8 @@ int main(int argc, char* argv[])
5454
auto fun = [](auto x) -> std::pair<std::vector<T>, std::vector<std::size_t>>
5555
{
5656
std::vector<T> fdata(3 * x.extent(1), 0.0);
57-
using dextent = MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 2>;
58-
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<double, dextent> f(fdata.data(), 3,
59-
x.extent(1));
57+
using dextent = md::dextents<std::size_t, 2>;
58+
md::mdspan<double, dextent> f(fdata.data(), 3, x.extent(1));
6059
for (std::size_t i = 0; i < x.extent(1); ++i)
6160
{
6261
f(0, i) = std::cos(10 * x(0, i)) * std::sin(10 * x(2, i));

cpp/demo/mixed_poisson/main.cpp

+2-4
Original file line numberDiff line numberDiff line change
@@ -180,10 +180,8 @@ int main(int argc, char* argv[])
180180
g->interpolate(
181181
[](auto x) -> std::pair<std::vector<T>, std::vector<std::size_t>>
182182
{
183-
using mspan_t = MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
184-
T, MDSPAN_IMPL_STANDARD_NAMESPACE::extents<
185-
std::size_t, 2,
186-
MDSPAN_IMPL_STANDARD_NAMESPACE::dynamic_extent>>;
183+
using mspan_t
184+
= md::mdspan<T, md::extents<std::size_t, 2, md::dynamic_extent>>;
187185

188186
std::vector<T> fdata(2 * x.extent(1), 0);
189187
mspan_t f(fdata.data(), 2, x.extent(1));

cpp/dolfinx/common/math.h

+3-9
Original file line numberDiff line numberDiff line change
@@ -222,15 +222,9 @@ void pinv(U A, V P)
222222
{
223223
std::array<T, 6> ATb;
224224
std::array<T, 4> ATAb, Invb;
225-
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
226-
T, MDSPAN_IMPL_STANDARD_NAMESPACE::extents<std::size_t, 2, 3>>
227-
AT(ATb.data(), 2, 3);
228-
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
229-
T, MDSPAN_IMPL_STANDARD_NAMESPACE::extents<std::size_t, 2, 2>>
230-
ATA(ATAb.data(), 2, 2);
231-
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
232-
T, MDSPAN_IMPL_STANDARD_NAMESPACE::extents<std::size_t, 2, 2>>
233-
Inv(Invb.data(), 2, 2);
225+
md::mdspan<T, md::extents<std::size_t, 2, 3>> AT(ATb.data(), 2, 3);
226+
md::mdspan<T, md::extents<std::size_t, 2, 2>> ATA(ATAb.data(), 2, 2);
227+
md::mdspan<T, md::extents<std::size_t, 2, 2>> Inv(Invb.data(), 2, 2);
234228

235229
for (std::size_t i = 0; i < AT.extent(0); ++i)
236230
for (std::size_t j = 0; j < AT.extent(1); ++j)

cpp/dolfinx/fem/CoordinateElement.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,7 @@ void CoordinateElement<T>::pull_back_nonaffine(mdspan2_t<T> X,
110110
std::vector<T> K_b(tdim * gdim);
111111
mdspan2_t<T> K(K_b.data(), tdim, gdim);
112112

113-
using mdspan4_t = MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
114-
T, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 4>>;
113+
using mdspan4_t = md::mdspan<T, md::dextents<std::size_t, 4>>;
115114

116115
const std::array<std::size_t, 4> bsize = _element->tabulate_shape(1, 1);
117116
std::vector<T> basis_b(

cpp/dolfinx/fem/CoordinateElement.h

+2-4
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,7 @@ class CoordinateElement
165165
{
166166
assert(w.size() >= 2 * J.extent(0) * J.extent(1));
167167
using X = typename U::element_type;
168-
using mdspan2_t = MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
169-
X, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 2>>;
168+
using mdspan2_t = md::mdspan<X, md::dextents<std::size_t, 2>>;
170169
mdspan2_t B(w.data(), J.extent(1), J.extent(0));
171170
mdspan2_t BA(w.data() + J.extent(0) * J.extent(1), B.extent(0),
172171
J.extent(1));
@@ -232,8 +231,7 @@ class CoordinateElement
232231

233232
/// mdspan typedef
234233
template <typename X>
235-
using mdspan2_t = MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
236-
X, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 2>>;
234+
using mdspan2_t = md::mdspan<X, md::dextents<std::size_t, 2>>;
237235

238236
/// @brief Compute reference coordinates `X` for physical coordinates
239237
/// `x` for a non-affine map.

cpp/dolfinx/fem/DirichletBC.h

+4-8
Original file line numberDiff line numberDiff line change
@@ -117,10 +117,8 @@ std::vector<std::int32_t> locate_dofs_geometrical(const FunctionSpace<T>& V,
117117
// Compute dof coordinates
118118
const std::vector<T> dof_coordinates = V.tabulate_dof_coordinates(true);
119119

120-
using cmdspan3x_t = MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
121-
const T,
122-
MDSPAN_IMPL_STANDARD_NAMESPACE::extents<
123-
std::size_t, 3, MDSPAN_IMPL_STANDARD_NAMESPACE::dynamic_extent>>;
120+
using cmdspan3x_t
121+
= md::mdspan<const T, md::extents<std::size_t, 3, md::dynamic_extent>>;
124122

125123
// Compute marker for each dof coordinate
126124
cmdspan3x_t x(dof_coordinates.data(), 3, dof_coordinates.size() / 3);
@@ -179,10 +177,8 @@ std::array<std::vector<std::int32_t>, 2> locate_dofs_geometrical(
179177
// Compute dof coordinates
180178
const std::vector<T> dof_coordinates = V1.tabulate_dof_coordinates(true);
181179

182-
using cmdspan3x_t = MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
183-
const T,
184-
MDSPAN_IMPL_STANDARD_NAMESPACE::extents<
185-
std::size_t, 3, MDSPAN_IMPL_STANDARD_NAMESPACE::dynamic_extent>>;
180+
using cmdspan3x_t
181+
= md::mdspan<const T, md::extents<std::size_t, 3, md::dynamic_extent>>;
186182

187183
// Evaluate marker for each dof coordinate
188184
cmdspan3x_t x(dof_coordinates.data(), 3, dof_coordinates.size() / 3);

cpp/dolfinx/fem/DofMap.cpp

+5-15
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,7 @@ fem::DofMap build_collapsed_dofmap(const DofMap& dofmap_view,
116116

117117
//-----------------------------------------------------------------------------
118118
graph::AdjacencyList<std::int32_t> fem::transpose_dofmap(
119-
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
120-
const std::int32_t,
121-
MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 2>>
122-
dofmap,
119+
md::mdspan<const std::int32_t, md::dextents<std::size_t, 2>> dofmap,
123120
std::int32_t num_cells)
124121
{
125122
// Count number of cell contributions to each global index
@@ -130,8 +127,7 @@ graph::AdjacencyList<std::int32_t> fem::transpose_dofmap(
130127
std::vector<int> num_local_contributions(max_index + 1, 0);
131128
for (std::int32_t c = 0; c < num_cells; ++c)
132129
{
133-
auto dofs = MDSPAN_IMPL_STANDARD_NAMESPACE::submdspan(
134-
dofmap, c, MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent);
130+
auto dofs = md::submdspan(dofmap, c, md::full_extent);
135131
for (std::size_t d = 0; d < dofmap.extent(1); ++d)
136132
num_local_contributions[dofs[d]]++;
137133
}
@@ -146,8 +142,7 @@ graph::AdjacencyList<std::int32_t> fem::transpose_dofmap(
146142
int cell_offset = 0;
147143
for (std::int32_t c = 0; c < num_cells; ++c)
148144
{
149-
auto dofs = MDSPAN_IMPL_STANDARD_NAMESPACE::submdspan(
150-
dofmap, c, MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent);
145+
auto dofs = md::submdspan(dofmap, c, md::full_extent);
151146
for (std::size_t d = 0; d < dofmap.extent(1); ++d)
152147
data[pos[dofs[d]]++] = cell_offset++;
153148
}
@@ -272,14 +267,9 @@ std::pair<DofMap, std::vector<std::int32_t>> DofMap::collapse(
272267
return {std::move(dofmap_new), std::move(collapsed_map)};
273268
}
274269
//-----------------------------------------------------------------------------
275-
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
276-
const std::int32_t,
277-
MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 2>>
278-
DofMap::map() const
270+
md::mdspan<const std::int32_t, md::dextents<std::size_t, 2>> DofMap::map() const
279271
{
280-
return MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
281-
const std::int32_t,
282-
MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 2>>(
272+
return md::mdspan<const std::int32_t, md::dextents<std::size_t, 2>>(
283273
_dofmap.data(), _dofmap.size() / _shape1, _shape1);
284274
}
285275
//-----------------------------------------------------------------------------

cpp/dolfinx/fem/DofMap.h

+4-10
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,9 @@ namespace dolfinx::fem
5959
/// typically used to exclude ghost cell contributions.
6060
/// @return Map from global (process-wise) index to positions in an
6161
/// unaassembled array. The links for each node are sorted.
62-
graph::AdjacencyList<std::int32_t>
63-
transpose_dofmap(MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
64-
const std::int32_t,
65-
MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 2>>
66-
dofmap,
67-
std::int32_t num_cells);
62+
graph::AdjacencyList<std::int32_t> transpose_dofmap(
63+
md::mdspan<const std::int32_t, md::dextents<std::size_t, 2>> dofmap,
64+
std::int32_t num_cells);
6865

6966
/// @brief Degree-of-freedom map.
7067
///
@@ -154,10 +151,7 @@ class DofMap
154151

155152
/// @brief Get dofmap data
156153
/// @return The adjacency list with dof indices for each cell
157-
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
158-
const std::int32_t,
159-
MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 2>>
160-
map() const;
154+
md::mdspan<const std::int32_t, md::dextents<std::size_t, 2>> map() const;
161155

162156
/// Layout of dofs on an element
163157
const ElementDofLayout& element_dof_layout() const

cpp/dolfinx/fem/Function.h

+25-52
Original file line numberDiff line numberDiff line change
@@ -155,14 +155,11 @@ class Function
155155

156156
/// @brief Interpolate an expression f(x) on the whole domain.
157157
/// @param[in] f Expression to be interpolated.
158-
void
159-
interpolate(const std::function<
160-
std::pair<std::vector<value_type>, std::vector<std::size_t>>(
161-
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
162-
const geometry_type,
163-
MDSPAN_IMPL_STANDARD_NAMESPACE::extents<
164-
std::size_t, 3,
165-
MDSPAN_IMPL_STANDARD_NAMESPACE::dynamic_extent>>)>& f)
158+
void interpolate(
159+
const std::function<
160+
std::pair<std::vector<value_type>, std::vector<std::size_t>>(
161+
md::mdspan<const geometry_type,
162+
md::extents<std::size_t, 3, md::dynamic_extent>>)>& f)
166163
{
167164
assert(_function_space);
168165
assert(_function_space->mesh());
@@ -180,11 +177,8 @@ class Function
180177
void interpolate(
181178
const std::function<
182179
std::pair<std::vector<value_type>, std::vector<std::size_t>>(
183-
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
184-
const geometry_type,
185-
MDSPAN_IMPL_STANDARD_NAMESPACE::extents<
186-
std::size_t, 3,
187-
MDSPAN_IMPL_STANDARD_NAMESPACE::dynamic_extent>>)>& f,
180+
md::mdspan<const geometry_type,
181+
md::extents<std::size_t, 3, md::dynamic_extent>>)>& f,
188182
std::span<const std::int32_t> cells)
189183
{
190184
assert(_function_space);
@@ -194,10 +188,8 @@ class Function
194188
= fem::interpolation_coords<geometry_type>(
195189
*_function_space->element(), _function_space->mesh()->geometry(),
196190
cells);
197-
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
198-
const geometry_type,
199-
MDSPAN_IMPL_STANDARD_NAMESPACE::extents<
200-
std::size_t, 3, MDSPAN_IMPL_STANDARD_NAMESPACE::dynamic_extent>>
191+
md::mdspan<const geometry_type,
192+
md::extents<std::size_t, 3, md::dynamic_extent>>
201193
_x(x.data(), 3, x.size() / 3);
202194

203195
const auto [fx, fshape] = f(_x);
@@ -387,10 +379,8 @@ class Function
387379
std::size_t num_cells = cells0.size();
388380
std::size_t num_points = e0.X().second[0];
389381
std::vector<value_type> fdata(num_cells * num_points * value_size);
390-
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
391-
const value_type,
392-
MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 3>>
393-
f(fdata.data(), num_cells, num_points, value_size);
382+
md::mdspan<const value_type, md::dextents<std::size_t, 3>> f(
383+
fdata.data(), num_cells, num_points, value_size);
394384

395385
// Evaluate Expression at points
396386
tabulate_expression(std::span(fdata), e0, *mesh0,
@@ -402,9 +392,8 @@ class Function
402392
// point. The interpolation uses xxyyzz input, ordered for all
403393
// points of each cell, i.e. (value_size, num_cells*num_points).
404394
std::vector<value_type> fdata1(num_cells * num_points * value_size);
405-
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
406-
value_type, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 3>>
407-
f1(fdata1.data(), value_size, num_cells, num_points);
395+
md::mdspan<value_type, md::dextents<std::size_t, 3>> f1(
396+
fdata1.data(), value_size, num_cells, num_points);
408397
for (std::size_t i = 0; i < f.extent(0); ++i)
409398
for (std::size_t j = 0; j < f.extent(1); ++j)
410399
for (std::size_t k = 0; k < f.extent(2); ++k)
@@ -535,19 +524,17 @@ class Function
535524
phi0_shape.begin(), phi0_shape.end(), 1, std::multiplies{}));
536525
impl::mdspan_t<const geometry_type, 4> phi0(phi0_b.data(), phi0_shape);
537526
cmap.tabulate(1, std::vector<geometry_type>(tdim), {1, tdim}, phi0_b);
538-
auto dphi0 = MDSPAN_IMPL_STANDARD_NAMESPACE::submdspan(
539-
phi0, std::pair(1, tdim + 1), 0,
540-
MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent, 0);
527+
auto dphi0
528+
= md::submdspan(phi0, std::pair(1, tdim + 1), 0, md::full_extent, 0);
541529

542530
// Data structure for evaluating geometry basis at specific points.
543531
// Used in non-affine case.
544532
std::array<std::size_t, 4> phi_shape = cmap.tabulate_shape(1, 1);
545533
std::vector<geometry_type> phi_b(
546534
std::reduce(phi_shape.begin(), phi_shape.end(), 1, std::multiplies{}));
547535
impl::mdspan_t<const geometry_type, 4> phi(phi_b.data(), phi_shape);
548-
auto dphi = MDSPAN_IMPL_STANDARD_NAMESPACE::submdspan(
549-
phi, std::pair(1, tdim + 1), 0,
550-
MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent, 0);
536+
auto dphi
537+
= md::submdspan(phi, std::pair(1, tdim + 1), 0, md::full_extent, 0);
551538

552539
// Reference coordinates for each point
553540
std::vector<geometry_type> Xb(xshape[0] * tdim);
@@ -571,8 +558,7 @@ class Function
571558
continue;
572559

573560
// Get cell geometry (coordinate dofs)
574-
auto x_dofs = MDSPAN_IMPL_STANDARD_NAMESPACE::submdspan(
575-
x_dofmap, cell_index, MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent);
561+
auto x_dofs = md::submdspan(x_dofmap, cell_index, md::full_extent);
576562
assert(x_dofs.size() == num_dofs_g);
577563
for (std::size_t i = 0; i < num_dofs_g; ++i)
578564
{
@@ -584,18 +570,11 @@ class Function
584570
for (std::size_t j = 0; j < gdim; ++j)
585571
xp(0, j) = x[p * xshape[1] + j];
586572

587-
auto _J = MDSPAN_IMPL_STANDARD_NAMESPACE::submdspan(
588-
J, p, MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent,
589-
MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent);
590-
auto _K = MDSPAN_IMPL_STANDARD_NAMESPACE::submdspan(
591-
K, p, MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent,
592-
MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent);
573+
auto _J = md::submdspan(J, p, md::full_extent, md::full_extent);
574+
auto _K = md::submdspan(K, p, md::full_extent, md::full_extent);
593575

594576
std::array<geometry_type, 3> Xpb = {0, 0, 0};
595-
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
596-
geometry_type,
597-
MDSPAN_IMPL_STANDARD_NAMESPACE::extents<
598-
std::size_t, 1, MDSPAN_IMPL_STANDARD_NAMESPACE::dynamic_extent>>
577+
md::mdspan<geometry_type, md::extents<std::size_t, 1, md::dynamic_extent>>
599578
Xp(Xpb.data(), 1, tdim);
600579

601580
// Compute reference coordinates X, and J, detJ and K
@@ -681,16 +660,10 @@ class Function
681660
cell_info, cell_index, reference_value_size);
682661

683662
{
684-
auto _U = MDSPAN_IMPL_STANDARD_NAMESPACE::submdspan(
685-
basis_derivatives_reference_values, 0, p,
686-
MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent,
687-
MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent);
688-
auto _J = MDSPAN_IMPL_STANDARD_NAMESPACE::submdspan(
689-
J, p, MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent,
690-
MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent);
691-
auto _K = MDSPAN_IMPL_STANDARD_NAMESPACE::submdspan(
692-
K, p, MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent,
693-
MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent);
663+
auto _U = md::submdspan(basis_derivatives_reference_values, 0, p,
664+
md::full_extent, md::full_extent);
665+
auto _J = md::submdspan(J, p, md::full_extent, md::full_extent);
666+
auto _K = md::submdspan(K, p, md::full_extent, md::full_extent);
694667
push_forward_fn(basis_values, _U, _J, detJ[p], _K);
695668
}
696669

cpp/dolfinx/fem/FunctionSpace.h

+5-11
Original file line numberDiff line numberDiff line change
@@ -262,12 +262,9 @@ class FunctionSpace
262262
const std::size_t shape_c1 = transpose ? num_dofs : 3;
263263
std::vector<geometry_type> coords(shape_c0 * shape_c1, 0);
264264

265-
using mdspan2_t = MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
266-
geometry_type,
267-
MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 2>>;
268-
using cmdspan4_t = MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
269-
const geometry_type,
270-
MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 4>>;
265+
using mdspan2_t = md::mdspan<geometry_type, md::dextents<std::size_t, 2>>;
266+
using cmdspan4_t
267+
= md::mdspan<const geometry_type, md::dextents<std::size_t, 4>>;
271268

272269
// Loop over cells and tabulate dofs
273270
std::vector<geometry_type> x_b(scalar_dofs * gdim);
@@ -293,9 +290,7 @@ class FunctionSpace
293290
std::reduce(phi_shape.begin(), phi_shape.end(), 1, std::multiplies{}));
294291
cmdspan4_t phi_full(phi_b.data(), phi_shape);
295292
cmap.tabulate(0, X, Xshape, phi_b);
296-
auto phi = MDSPAN_IMPL_STANDARD_NAMESPACE::submdspan(
297-
phi_full, 0, MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent,
298-
MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent, 0);
293+
auto phi = md::submdspan(phi_full, 0, md::full_extent, md::full_extent, 0);
299294

300295
// TODO: Check transform
301296
// Basis function reference-to-conforming transformation function
@@ -306,8 +301,7 @@ class FunctionSpace
306301
for (int c = 0; c < num_cells; ++c)
307302
{
308303
// Extract cell geometry 'dofs'
309-
auto x_dofs = MDSPAN_IMPL_STANDARD_NAMESPACE::submdspan(
310-
x_dofmap, c, MDSPAN_IMPL_STANDARD_NAMESPACE::full_extent);
304+
auto x_dofs = md::submdspan(x_dofmap, c, md::full_extent);
311305
for (std::size_t i = 0; i < x_dofs.size(); ++i)
312306
for (std::size_t j = 0; j < gdim; ++j)
313307
coordinate_dofs(i, j) = x_g[3 * x_dofs[i] + j];

0 commit comments

Comments
 (0)