3#ifndef pRC_CORE_TENSOR_FUNCTIONS_SCALE_H
4#define pRC_CORE_TENSOR_FUNCTIONS_SCALE_H
14 template<
class XA,
class XB, IsTensorish RA = RemoveReference<XA>,
15 IsTensorish RB = RemoveReference<XB>>
16 requires(RA::Dimension == 0 || RB::Dimension == 0) &&
17 IsInvocable<TensorProduct, XA, XB>
18 static inline constexpr auto operator*(XA &&a, XB &&b)
23 template<
class XA,
class XB, IsTensorish RA = RemoveReference<XA>,
24 IsTensorish RB = RemoveReference<XB>>
25 requires(RA::Dimension == 0 && RB::Dimension != 0) &&
26 IsInvocable<Div,
typename RB::template ChangeType<typename RA::Type>,
28 static inline constexpr auto operator/(XA &&a, XB &&b)
35 template<
class XA,
class XB, IsTensorish RA = RemoveReference<XA>,
36 IsTensorish RB = RemoveReference<XB>>
37 requires(RA::Dimension != 0 && RB::Dimension == 0) &&
39 typename RA::template ChangeType<typename RB::Type>>
40 static inline constexpr auto operator/(XA &&a, XB &&b)
42 return forward<XA>(a) /
47 template<
class XA,
class XB, IsTensorish RA = RemoveReference<XA>,
48 class RB = RemoveReference<XB>>
49 requires IsDefined<Tensor<RB>> && IsInvocable<Mul, XA, Tensor<RB>>
50 static inline constexpr auto operator*(XA &&a, XB &&b)
55 template<
class XA,
class XB,
class RA = RemoveReference<XA>,
56 IsTensorish RB = RemoveReference<XB>>
57 requires IsDefined<Tensor<RA>> && IsInvocable<Mul, Tensor<RA>, XB>
58 static inline constexpr auto operator*(XA &&a, XB &&b)
63 template<
class XA,
class XB, IsTensorish RA = RemoveReference<XA>,
64 class RB = RemoveReference<XB>>
65 requires IsDefined<Tensor<RB>> && IsInvocable<Div, XA, Tensor<RB>>
66 static inline constexpr auto operator/(XA &&a, XB &&b)
71 template<
class XA,
class XB,
class RA = RemoveReference<XA>,
72 IsTensorish RB = RemoveReference<XB>>
73 requires IsDefined<Tensor<RA>> && IsInvocable<Div, Tensor<RA>, XB>
74 static inline constexpr auto operator/(XA &&a, XB &&b)
Definition cholesky.hpp:10
static constexpr auto unit()
Definition unit.hpp:13
static constexpr auto operator*(JacobiRotation< TA > const &a, JacobiRotation< TB > const &b)
Definition jacobi_rotation.hpp:298
static constexpr auto tensorProduct(XA &&a, XB &&b)
Definition tensor_product.hpp:17
static constexpr auto operator/(Sequence< T, As... > const, Sequence< T, Bs... > const)
Definition sequence.hpp:179