# Three-dimensional vectors [Русская версия / Russian version](vector3-rus.md) There are two types of 3D vectors in the library: - **BGC_FP32_Vector3** - vector using single-precision floating-point numbers - **BGC_FP64_Vector3** - vector using double-precision floating-point numbers Structure definitions: ```c typedef struct { float x, y, z; } BGC_FP32_Vector3; typedef struct { double x, y, z; } BGC_FP64_Vector3; ``` ## Functions | Funtions for BGC_FP32_Vector3 | Funtions for BGC_FP64_Vector3 | |:-------------------------------------------------------------:|:-------------------------------------------------------------:| | [bgc_fp32_vector3_reset](vector3/reset-eng.md) | [bgc_fp64_vector3_reset](vector3/reset-eng.md) | | [bgc_fp32_vector3_set_values](vector3/set-values-eng.md) | [bgc_fp64_vector3_set_values](vector3/set-values-eng.md) | | [bgc_fp32_vector3_copy](vector3/copy-eng.md) | [bgc_fp64_vector3_copy](vector3/copy-eng.md) | | [bgc_fp32_vector3_swap](vector3/swap-eng.md) | [bgc_fp64_vector3_swap](vector3/swap-eng.md) | [Documentation](intro-eng.md)