Задача 0000002: змена методов get_weighted_sum на append_scaled для векторов / Task 0000002: replacement of get_weighted_sum methods on append_scaled for vectors

This commit is contained in:
Andrey Pokidov 2024-11-19 14:38:57 +07:00
parent 791557fb94
commit 7bd9c07f17
4 changed files with 22 additions and 332 deletions

View file

@ -204,7 +204,7 @@ static inline void dp_quaternion_subtract(const DPQuaternion * minuend, const DP
result->x3 = minuend->x3 - subtrahend->x3; result->x3 = minuend->x3 - subtrahend->x3;
} }
// ================ Combination ================= // // =============== Multiplication =============== //
static inline void sp_quaternion_multiply(const SPQuaternion* left, const SPQuaternion* right, SPQuaternion* result) static inline void sp_quaternion_multiply(const SPQuaternion* left, const SPQuaternion* right, SPQuaternion* result)
{ {

View file

Internal server error - Personal Git Server: Beyond coding. We Forge.

500

Internal server error

Forgejo version: 11.0.1+gitea-1.22.0

@ -204,104 +204,18 @@ static inline void dp_vector2_divide(const DPVector2* dividend, const double div
result->x2 = dividend->x2 / divisor; result->x2 = dividend->x2 / divisor;
} }
// ============= Weighed Sum of two ============= // // ================ Append scaled =============== //
static inline void sp_vector2_get_weighted_sum2( static inline void sp_vector2_append_scaled(SPVector2* basic_vector, const SPVector2* scalable_summand, const float scale)
const float weight1, const SPVector2* vector1,
const float weight2, const SPVector2* vector2,
SPVector2* result
)
{ {
result->x1 = vector1->x1 * weight1 + vector2->x1 * weight2; basic_vector->x1 += scalable_summand->x1 * scale;
result->x2 = vector1->x2 * weight1 + vector2->x2 * weight2; basic_vector->x2 += scalable_summand->x2 * scale;
} }
static inline void dp_vector2_get_weighted_sum2( static inline void dp_vector2_append_scaled(DPVector2* basic_vector, const DPVector2* scalable_summand, const double scale)
const double weight1, const DPVector2* vector1,
const double weight2, const DPVector2* vector2,
DPVector2* result
)
{ {
result->x1 = vector1->x1 * weight1 + vector2->x1 * weight2; basic_vector->x1 += scalable_summand->x1 * scale;
result->x2 = vector1->x2 * weight1 + vector2->x2 * weight2; basic_vector->x2 += scalable_summand->x2 * scale;
}
// ============ Weighed Sum of three ============ //
static inline void sp_vector2_get_weighted_sum3(
const float weight1, const SPVector2* vector1,
const float weight2, const SPVector2* vector2,
const float weight3, const SPVector2* vector3,
SPVector2* result
)
{
result->x1 = vector1->x1 * weight1 + vector2->x1 * weight2 + vector3->x1 * weight3;
result->x2 = vector1->x2 * weight1 + vector2->x2 * weight2 + vector3->x2 * weight3;
}
static inline void dp_vector2_get_weighted_sum3(
const double weight1, const DPVector2* vector1,
const double weight2, const DPVector2* vector2,
const double weight3, const DPVector2* vector3,
DPVector2* result
)
{
result->x1 = vector1->x1 * weight1 + vector2->x1 * weight2 + vector3->x1 * weight3;
result->x2 = vector1->x2 * weight1 + vector2->x2 * weight2 + vector3->x2 * weight3;
}
// ============ Weighed Sum of four ============= //
static inline void sp_vector2_get_weighted_sum4(
const float weight1, const SPVector2* vector1,
const float weight2, const SPVector2* vector2,
const float weight3, const SPVector2* vector3,
const float weight4, const SPVector2* vector4,
SPVector2* result
)
{
result->x1 = (vector1->x1 * weight1 + vector2->x1 * weight2) + (vector3->x1 * weight3 + vector4->x1 * weight4);
result->x2 = (vector1->x2 * weight1 + vector2->x2 * weight2) + (vector3->x2 * weight3 + vector4->x2 * weight4);
}
static inline void dp_vector2_get_weighted_sum4(
const double weight1, const DPVector2* vector1,
const double weight2, const DPVector2* vector2,
const double weight3, const DPVector2* vector3,
const double weight4, const DPVector2* vector4,
DPVector2* result
)
{
result->x1 = (vector1->x1 * weight1 + vector2->x1 * weight2) + (vector3->x1 * weight3 + vector4->x1 * weight4);