template<ring _K, typename _dual>
fun::pg_object class

Projective object.

Template parameters
_K Type of object elements
_dual

Public types

using value_type = _K
using dual = _dual

Constructors, destructors, conversion operators

pg_object(const _Base& a) explicit constexpr
Construct a new pg object object.
pg_object(const _Self&) defaulted explicit
Construct a new pg object.
pg_object(_Self&&) defaulted noexcept
Construct a new pg object.

Public functions

auto operator=(const _Self&) -> _Self & -> auto deleted
auto operator=(_Self&&) noexcept -> _Self & -> auto defaulted
auto is_NaN() const -> bool -> auto constexpr
Equal to.
auto dot(const dual& l) const -> _K -> auto constexpr
the dot product
auto aux() const -> dual -> auto constexpr
Generate a new line not incident with p.

Friends

auto operator==(const _Self& lhs, const _Self& rhs) -> bool -> friend auto constexpr
Equal to.
auto operator!=(const _Self& lhs, const _Self& rhs) -> bool -> friend auto constexpr
Not equal to.
auto operator*(const _Self& lhs, const _Self& rhs) -> dual -> friend auto constexpr
Join or meet.

Function documentation

template<ring _K, typename _dual>
fun::pg_object<_K, _dual>::pg_object(const _Base& a) explicit constexpr

Construct a new pg object object.

Parameters
in array of coordinates

template<ring _K, typename _dual>
auto fun::pg_object<_K, _dual>::operator=(const _Self&) -> _Self & deleted

Returns _Self&

template<ring _K, typename _dual>
auto fun::pg_object<_K, _dual>::operator=(_Self&&) noexcept -> _Self & defaulted

Returns _Self&

template<ring _K, typename _dual>
auto fun::pg_object<_K, _dual>::is_NaN() const -> bool constexpr

Equal to.

Returns true if this object is equivalent to the rhs

template<ring _K, typename _dual>
auto fun::pg_object<_K, _dual>::dot(const dual& l) const -> _K constexpr

the dot product

Parameters
in
Returns _K

template<ring _K, typename _dual>
auto fun::pg_object<_K, _dual>::aux() const -> dual constexpr

Generate a new line not incident with p.

Returns dual

template<ring _K, typename _dual>
friend auto operator==(const _Self& lhs, const _Self& rhs) -> bool constexpr

Equal to.

Parameters
lhs
rhs in
Returns true if this object is equivalent to the rhs

template<ring _K, typename _dual>
friend auto operator!=(const _Self& lhs, const _Self& rhs) -> bool constexpr

Not equal to.

Parameters
lhs
rhs in
Returns true if this object is not equivalent to the rhs

template<ring _K, typename _dual>
friend auto operator*(const _Self& lhs, const _Self& rhs) -> dual constexpr

Join or meet.

Parameters
lhs
rhs in
Returns true if this point is equivalent to the rhs