akreon-linalg
Fixed-size linear algebra and numerical methods in C++26.
Loading...
Searching...
No Matches
coordinate_space.hpp
Go to the documentation of this file.
1/*
2 * Copyright © 2025-2026 Akreon LLC
3 * SPDX-License-Identifier: Apache-2.0
4 */
5
6#pragma once
7
8#include "coordinate_map.hpp"
10
11namespace linalg {
12
19template <Field T, std::size_t Dim>
21
23template <Field T, std::size_t Dim>
26 using scalar_type = T;
32 static constexpr std::size_t dim = Dim;
34 static constexpr std::size_t DIM = dim;
35};
36
38template <Field T, std::size_t Dim>
40 static constexpr auto to_coordinates(const Vector<T, Dim>& element) {
41 return element;
42 }
43
44 static constexpr auto from_coordinates(const Vector<T, Dim>& coordinate) {
45 return coordinate;
46 }
47};
48
49} // namespace linalg
constexpr std::size_t mat_rows_v
Registered compile-time row count after cv/ref normalization.
Canonical Dim-dimensional coordinate space over field T.
Owning, fixed-size vector container.
Definition vector.hpp:36
static constexpr auto from_coordinates(const Vector< T, Dim > &coordinate)
static constexpr auto to_coordinates(const Vector< T, Dim > &element)
Customization point mapping space elements to finite coordinates.
Customization point for finite-dimensional space metadata.