Crafter.Math/interfaces/Crafter.Math-Basic.cppm
2026-10-31 06:52:22 +01:00

18 lines
No EOL
644 B
C++
Executable file

//SPDX-License-Identifier: LGPL-3.0-only
//SPDX-FileCopyrightText: Copyright (C) 2026 Catcrafts®
export module Crafter.Math:Basic;
import std;
import :VectorF32;
namespace Crafter {
export template<typename T>
constexpr T ToRadian(T degrees) {
return degrees * (std::numbers::pi / 180);
}
#if (defined(__x86_64) && !defined(__AVX512FP16__)) || defined(__riscv_vector) || (defined(__aarch64__) && defined(__ARM_NEON) && !defined(__ARM_FEATURE_FP16_VECTOR_ARITHMETIC)) || !defined(__FLT16_MAX__)
export template <std::uint32_t Len, std::uint32_t Packing>
using VectorF16 = VectorF32<Len, Packing>;
#endif
}