# Копирование [English version / Английская версия](copy-eng.md) Функции копирования позволяют скопировать значения компонент одного кватерниона в другой кватернион. Функция для **BGC_FP32_Quaternion**: ```c inline void bgc_fp32_quaternion_copy(BGC_FP32_Quaternion* const destination, const BGC_FP32_Quaternion* const source); ``` Функция для **BGC_FP64_Quaternion**: ```c inline void bgc_fp64_quaternion_copy(BGC_FP64_Quaternion* const destination, const BGC_FP64_Quaternion* const source); ``` Каждая из данных функции эквивалентна следующим строкам кода: ```c destination->s = source->s; destination->x = source->x; destination->y = source->y; destination->z = source->z; ``` Параметры **source** и **destination** должны быть корректными указателями. Значение NULL (0) также считается некорректным. Параметр **source** должен быть указателем на кватернион, компоненты которого должны быть скопированы. Компоненты кватерниона **source** не изменятся после вызова функции. Параметр **destination** должен быть указателем на кватернионы, компоненты которого должны быть изменены. Координаты кватерниона **destination** после вызова функции станут такими же, как и у кватерниона **source**. Пример применения: ```c #include #include int main() { BGC_FP32_Quaternion q1, q2; q1.s = 1.1f; q1.x = -2.0f; q1.y = 7.4f; q1.z = 1.8f; bgc_fp32_quaternion_copy(&q2, &q1); printf("s = %f, x = %f, y = %f, z = %f\n", q2.s, q2.x, q2.y, q2.z); return 0; } ``` [Документация](../intro-rus.md) / [Кватернионы](../quaternion-rus.md)