# Three-dimensional vectors 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 BgcVector3FP32 | Funtions for BgcVector3FP64 | |:-------------------------------------------------------------:|:-------------------------------------------------------------:| | [bgc_vector3_reset_fp32](vector3/reset-eng.md) | [bgc_vector3_reset_fp64](vector3/reset-eng.md) | | [bgc_vector3_set_values_fp32](vector3/set-values-eng.md) | [bgc_vector3_set_values_fp64](vector3/set-values-eng.md) | | [bgc_vector3_copy_fp32](vector3/copy-eng.md) | [bgc_vector3_copy_fp64](vector3/copy-eng.md) | | [bgc_vector3_swap_fp32](vector3/swap-eng.md) | [bgc_vector3_swap_fp64](vector3/swap-eng.md) | [Documentation](intro-eng.md)