library

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub kk2a/library

:warning: geometry/cross_point_line_line.hpp

Depends on

Code

#ifndef KK2_GEOMETRY_CROSS_POINT_LINE_LINE_HPP
#define KK2_GEOMETRY_CROSS_POINT_LINE_LINE_HPP 1

#include <optional>

#include "../math/rational.hpp"
#include "line.hpp"

namespace kk2 {

template <typename T>
std::optional<Point<Rational<T>>> cross_point(const Line<T> &l, const Line<T> &m) {
    // Cramer's rule
    T det = l.a * m.b - l.b * m.a;
    if (det == 0) return std::nullopt;
    T x = l.b * m.c - l.c * m.b;
    T y = l.c * m.a - l.a * m.c;
    return Point<T>(Rational<T>(x, det), Rational<T>(y, det));
}

} // namespace kk2

#endif // KK2_GEOMETRY_CROSS_POINT_LINE_LINE_HPP
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/onlinejudge_verify/documentation/build.py", line 71, in _render_source_code_stat
    bundled_code = language.bundle(stat.path, basedir=basedir, options={'include_paths': [basedir]}).decode()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/onlinejudge_verify/languages/cplusplus.py", line 187, in bundle
    bundler.update(path)
  File "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py", line 401, in update
    self.update(self._resolve(pathlib.Path(included), included_from=path))
  File "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py", line 401, in update
    self.update(self._resolve(pathlib.Path(included), included_from=path))
  File "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py", line 312, in update
    raise BundleErrorAt(path, i + 1, "#pragma once found in a non-first line")
onlinejudge_verify.languages.cplusplus_bundle.BundleErrorAt: type_traits/io.hpp: line 4: #pragma once found in a non-first line
Back to top page