58 template<
typename dtype>
70 return {
static_cast<double>(start) };
74 return {
static_cast<double>(start),
static_cast<double>(stop) };
77 const auto base =
nth_root(stop / start, num - 1);
78 const auto logStart =
logb(start, base);
79 const auto logStop =
logb(stop, base);
80 return logspace(logStart, logStop, num, endPoint, base);
#define THROW_INVALID_ARGUMENT_ERROR(msg)
Definition: Error.hpp:37
#define STATIC_ASSERT_ARITHMETIC_OR_COMPLEX(dtype)
Definition: StaticAsserts.hpp:56
bool essentiallyEqual(dtype inValue1, dtype inValue2) noexcept
Definition: essentiallyEqual.hpp:49
Definition: Cartesian.hpp:40
auto logb(dtype inValue, dtype inBase) noexcept
Definition: logb.hpp:49
NdArray< double > geomspace(dtype start, dtype stop, uint32 num=50, EndPoint endPoint=EndPoint::YES)
Definition: geomspace.hpp:59
double nth_root(dtype1 inValue, dtype2 inRoot) noexcept
Definition: nth_root.hpp:46
std::uint32_t uint32
Definition: Types.hpp:40
NdArray< double > logspace(dtype start, dtype stop, uint32 num=50, EndPoint endPoint=EndPoint::YES, double base=10.)
Definition: logspace.hpp:59
EndPoint
End Point boolean.
Definition: Enums.hpp:74