|
@@ -446,15 +446,15 @@ namespace detail
|
|
|
{
|
|
{
|
|
|
char const * PrefixStr = prefix<T>::value();
|
|
char const * PrefixStr = prefix<T>::value();
|
|
|
char const * LiteralStr = literal<T, std::numeric_limits<T>::is_iec559>::value();
|
|
char const * LiteralStr = literal<T, std::numeric_limits<T>::is_iec559>::value();
|
|
|
- std::string FormatStr(detail::format("%squat(%s, %s, %s, %s)",
|
|
|
|
|
|
|
+ std::string FormatStr(detail::format("%squat(%s, {%s, %s, %s})",
|
|
|
PrefixStr,
|
|
PrefixStr,
|
|
|
LiteralStr, LiteralStr, LiteralStr, LiteralStr));
|
|
LiteralStr, LiteralStr, LiteralStr, LiteralStr));
|
|
|
|
|
|
|
|
return detail::format(FormatStr.c_str(),
|
|
return detail::format(FormatStr.c_str(),
|
|
|
|
|
+ static_cast<typename cast<T>::value_type>(x[3]),
|
|
|
static_cast<typename cast<T>::value_type>(x[0]),
|
|
static_cast<typename cast<T>::value_type>(x[0]),
|
|
|
static_cast<typename cast<T>::value_type>(x[1]),
|
|
static_cast<typename cast<T>::value_type>(x[1]),
|
|
|
- static_cast<typename cast<T>::value_type>(x[2]),
|
|
|
|
|
- static_cast<typename cast<T>::value_type>(x[3]));
|
|
|
|
|
|
|
+ static_cast<typename cast<T>::value_type>(x[2]));
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -465,19 +465,19 @@ namespace detail
|
|
|
{
|
|
{
|
|
|
char const * PrefixStr = prefix<T>::value();
|
|
char const * PrefixStr = prefix<T>::value();
|
|
|
char const * LiteralStr = literal<T, std::numeric_limits<T>::is_iec559>::value();
|
|
char const * LiteralStr = literal<T, std::numeric_limits<T>::is_iec559>::value();
|
|
|
- std::string FormatStr(detail::format("%sdualquat((%s, %s, %s, %s), (%s, %s, %s, %s))",
|
|
|
|
|
|
|
+ std::string FormatStr(detail::format("%sdualquat((%s, {%s, %s, %s}), (%s, {%s, %s, %s}))",
|
|
|
PrefixStr,
|
|
PrefixStr,
|
|
|
LiteralStr, LiteralStr, LiteralStr, LiteralStr));
|
|
LiteralStr, LiteralStr, LiteralStr, LiteralStr));
|
|
|
|
|
|
|
|
return detail::format(FormatStr.c_str(),
|
|
return detail::format(FormatStr.c_str(),
|
|
|
|
|
+ static_cast<typename cast<T>::value_type>(x.real[3]),
|
|
|
static_cast<typename cast<T>::value_type>(x.real[0]),
|
|
static_cast<typename cast<T>::value_type>(x.real[0]),
|
|
|
static_cast<typename cast<T>::value_type>(x.real[1]),
|
|
static_cast<typename cast<T>::value_type>(x.real[1]),
|
|
|
static_cast<typename cast<T>::value_type>(x.real[2]),
|
|
static_cast<typename cast<T>::value_type>(x.real[2]),
|
|
|
- static_cast<typename cast<T>::value_type>(x.real[3]),
|
|
|
|
|
|
|
+ static_cast<typename cast<T>::value_type>(x.dual[3]),
|
|
|
static_cast<typename cast<T>::value_type>(x.dual[0]),
|
|
static_cast<typename cast<T>::value_type>(x.dual[0]),
|
|
|
static_cast<typename cast<T>::value_type>(x.dual[1]),
|
|
static_cast<typename cast<T>::value_type>(x.dual[1]),
|
|
|
- static_cast<typename cast<T>::value_type>(x.dual[2]),
|
|
|
|
|
- static_cast<typename cast<T>::value_type>(x.dual[3]));
|
|
|
|
|
|
|
+ static_cast<typename cast<T>::value_type>(x.dual[2]));
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|