Cargo Features

[dependencies]
gemath = { version = "0.1.0", default-features = false, features = ["std", "alloc", "libm", "math", "scalar", "angle", "half_float", "vec2", "vec3", "vec4", "mat2", "mat3", "mat4", "quat", "unit_vec", "rect2", "rect3", "aabb2", "aabb3", "geometry", "collision", "spatial", "polygon2", "full", "mint", "serde"] }
default = full, std

These default features are set whenever gemath is added without default-features = false somewhere in the dependency tree.

std default = math

Platform / runtime features

Affects half_float::halfs_from_f32_slice, half_float::f32s_from_half_slice, half_float::halfs_from_f16_slice, half_float::f16s_from_half_slice, gemath::polygon2, gemath::spatial

alloc

Affects half_float::halfs_from_f32_slice, half_float::f32s_from_half_slice, half_float::halfs_from_f16_slice, half_float::f16s_from_half_slice, gemath::polygon2, gemath::spatial

libm = math

Enables libm

math libm? mat3? mat4? quat? scalar? std vec4?

Internal “capability” features

Affects gemath::math, gemath::numeric

scalar angle? full = math

Module-level features (opt-in)

Affects gemath::scalar

angle full vec2? vec3? = scalar

Affects gemath::angle

half_float full

Affects gemath::half_float

vec2 aabb2? full geometry? mat2? mint? polygon2? rect2? unit_vec? = angle

Affects gemath::vec2

vec3 aabb3? full geometry? mat3? mint? rect3? unit_vec? vec4? = angle

Affects gemath::vec3

vec4 full mat4? mint? quat? unit_vec? = math, vec3

Affects gemath::vec4

mat2 full mint? = vec2

Affects gemath::mat2

mat3 full mint? = math, vec3

Affects gemath::mat3

mat4 full mint? = math, vec4

Affects gemath::mat4

quat full mint? = math, vec4

Affects gemath::quat

unit_vec full = vec2, vec3, vec4

Affects gemath::unit_vec

rect2 collision? full = vec2

Affects gemath::rect2

rect3 collision? full = vec3

Affects gemath::rect3

aabb2 collision? full spatial? = vec2

Affects gemath::aabb2

aabb3 collision? full spatial? = vec3

Affects gemath::aabb3

geometry collision? full spatial? = vec2, vec3

Affects gemath::geometry

collision full = aabb2, aabb3, geometry, rect2, rect3

Affects gemath::collision

spatial full = aabb2, aabb3, geometry

Affects gemath::spatial

polygon2 full = vec2

Affects gemath::polygon2

full default = aabb2, aabb3, angle, collision, geometry, half_float, mat2, mat3, mat4, polygon2, quat, rect2, rect3, scalar, spatial, unit_vec, vec2, vec3, vec4

“Bundle” features

mint = mat2, mat3, mat4, quat, vec2, vec3, vec4

Optional integrations

Enables mint

serde

Enables serde, serde of half