mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-12 11:49:02 +08:00
Added cube() operation
This commit is contained in:
parent
b5124e7cfd
commit
641e824c56
@ -83,6 +83,12 @@ class TensorBase<Derived, ReadOnlyAccessors>
|
|||||||
return unaryExpr(internal::scalar_square_op<Scalar>());
|
return unaryExpr(internal::scalar_square_op<Scalar>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EIGEN_DEVICE_FUNC
|
||||||
|
EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_cube_op<Scalar>, const Derived>
|
||||||
|
cube() const {
|
||||||
|
return unaryExpr(internal::scalar_cube_op<Scalar>());
|
||||||
|
}
|
||||||
|
|
||||||
EIGEN_DEVICE_FUNC
|
EIGEN_DEVICE_FUNC
|
||||||
EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived>
|
EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived>
|
||||||
inverse() const {
|
inverse() const {
|
||||||
|
@ -32,6 +32,9 @@ static void test_1d()
|
|||||||
float data4[6];
|
float data4[6];
|
||||||
TensorMap<Tensor<float, 1, RowMajor>> vec4(data4, 6);
|
TensorMap<Tensor<float, 1, RowMajor>> vec4(data4, 6);
|
||||||
vec4 = vec2.square();
|
vec4 = vec2.square();
|
||||||
|
float data5[6];
|
||||||
|
TensorMap<Tensor<float, 1, RowMajor>> vec5(data5, 6);
|
||||||
|
vec5 = vec2.cube();
|
||||||
|
|
||||||
VERIFY_IS_APPROX(vec3(0), sqrtf(4.0));
|
VERIFY_IS_APPROX(vec3(0), sqrtf(4.0));
|
||||||
VERIFY_IS_APPROX(vec3(1), sqrtf(8.0));
|
VERIFY_IS_APPROX(vec3(1), sqrtf(8.0));
|
||||||
@ -47,6 +50,13 @@ static void test_1d()
|
|||||||
VERIFY_IS_APPROX(vec4(4), 4.0f * 4.0f);
|
VERIFY_IS_APPROX(vec4(4), 4.0f * 4.0f);
|
||||||
VERIFY_IS_APPROX(vec4(5), 5.0f * 5.0f);
|
VERIFY_IS_APPROX(vec4(5), 5.0f * 5.0f);
|
||||||
|
|
||||||
|
VERIFY_IS_APPROX(vec5(0), 0.0f);
|
||||||
|
VERIFY_IS_APPROX(vec5(1), 1.0f);
|
||||||
|
VERIFY_IS_APPROX(vec5(2), 2.0f * 2.0f * 2.0f);
|
||||||
|
VERIFY_IS_APPROX(vec5(3), 3.0f * 3.0f * 3.0f);
|
||||||
|
VERIFY_IS_APPROX(vec5(4), 4.0f * 4.0f * 4.0f);
|
||||||
|
VERIFY_IS_APPROX(vec5(5), 5.0f * 5.0f * 5.0f);
|
||||||
|
|
||||||
vec3 = vec1 + vec2;
|
vec3 = vec1 + vec2;
|
||||||
VERIFY_IS_APPROX(vec3(0), 4.0f + 0.0f);
|
VERIFY_IS_APPROX(vec3(0), 4.0f + 0.0f);
|
||||||
VERIFY_IS_APPROX(vec3(1), 8.0f + 1.0f);
|
VERIFY_IS_APPROX(vec3(1), 8.0f + 1.0f);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user