|
Blender V4.3
|
Go to the source code of this file.
Functions | |
| MINLINE float | safe_divide (float a, float b) |
| MINLINE float | safe_modf (float a, float b) |
| MINLINE float | safe_logf (float a, float base) |
| MINLINE float | safe_sqrtf (float a) |
| MINLINE float | safe_inverse_sqrtf (float a) |
| MINLINE float | safe_asinf (float a) |
| MINLINE float | safe_acosf (float a) |
| MINLINE float | safe_powf (float base, float exponent) |
This file provides safe alternatives to common math functions like sqrt, powf. In this context "safe" means that the output is not NaN if the input is not NaN.
Definition in file BLI_math_base_safe.h.
Definition at line 54 of file math_base_safe_inline.c.
References acosf, CLAMP, and clamp().
Referenced by angle_normalized_qt(), angle_signed_normalized_qt(), attr_create_pointiness(), basic_rotate(), bm_mesh_calc_uvs_sphere_face(), boid_body(), bsdf_diffuse_toon_eval(), bsdf_glossy_toon_eval(), bsdf_oren_nayar_G(), cache_key_incremental_rotation(), calc_bevel_sin_cos(), direction_to_fisheye_equisolid(), direction_to_fisheye_lens_polynomial(), direction_to_spherical(), do_guides(), dvar_eval_rotDiff(), effector_falloff(), fisheye_equisolid_to_direction(), fisheye_lens_polynomial_to_direction(), fisheye_to_direction(), map_to_sphere(), mat3_to_quat_legacy(), merge(), modify_mesh(), pow_qt_fl_normalized(), blender::ed::curves::primitive_random_sphere(), proj_paint_state_cavity_init(), psys_thread_create_path(), Quaternion_angle_get(), quaternion_to_angles(), sky_angle_between(), svm_math(), svm_node_ies(), tri_to_quat_ex(), triangle_light_sample(), blender::nodes::try_dispatch_float_math_fl_to_fl(), vec_to_quat(), and Vector_angle().
Definition at line 48 of file math_base_safe_inline.c.
References asinf, CLAMP, and clamp().
Referenced by angle_normalized_v2v2(), angle_normalized_v3v3(), area_light_rect_sample(), bsdf_hair_chiang_eval(), bsdf_hair_chiang_sample(), bsdf_hair_reflection_sample(), quaternion_to_angles(), spherical_stereo_transform(), svm_math(), and blender::nodes::try_dispatch_float_math_fl_to_fl().
Definition at line 15 of file math_base_safe_inline.c.
References b.
Referenced by bsdf_eval_pass_diffuse_weight(), bsdf_eval_pass_glossy_weight(), bsdf_hair_huang_albedo(), bsdf_microfacet_eval(), blender::nodes::node_shader_map_range_cc::build_float_linear(), blender::nodes::node_shader_map_range_cc::build_float_stepped(), bump_shadowing_term(), fractal_voronoi_x_fx(), gizmo_calc_rect_view_scale(), gizmo_spot_blend_prop_matrix_set(), hair_attenuation(), relaxation_iteration_uv(), safe_logf(), safe_logf(), blender::nodes::node_shader_map_range_cc::sh_node_map_range_build_multi_function(), smootherstep(), snap(), svm_mapping(), svm_math(), svm_node_vector_map_range(), svm_vector_math(), transform_decompose(), trimmed_logistic(), blender::nodes::try_dispatch_float_math_fl3_fl3_to_fl3(), blender::nodes::try_dispatch_float_math_fl_fl_to_fl(), blender::ed::view3d::geometry_nodes_gizmos::LinearGizmo::update_transform(), blender::ed::view3d::geometry_nodes_gizmos::TransformGizmos::update_translate_transform_and_target_property(), and vfont_to_curve().
Definition at line 43 of file math_base_safe_inline.c.
References sqrtf.
Referenced by blender::nodes::try_dispatch_float_math_fl_to_fl().
Definition at line 30 of file math_base_safe_inline.c.
References b, logf, safe_divide(), and UNLIKELY.
Referenced by svm_math(), TEST(), and blender::nodes::try_dispatch_float_math_fl_fl_to_fl().
Definition at line 20 of file math_base_safe_inline.c.
Referenced by TEST(), and blender::nodes::try_dispatch_float_math_fl_fl_to_fl().
Definition at line 60 of file math_base_safe_inline.c.
References b, compatible_powf(), float_to_int(), powf, and UNLIKELY.
Referenced by svm_math(), TEST(), and blender::nodes::try_dispatch_float_math_fl_fl_to_fl().
Definition at line 38 of file math_base_safe_inline.c.
References max, max_ff(), and sqrtf.
Referenced by blo_do_versions_300(), boid_body(), boid_brain(), bsdf_sheen_sample(), bssrdf_burley_sample(), cos_from_sin(), cos_theta(), ensure_valid_specular_reflection(), fresnel_dielectric_polarized(), guiding_record_surface_bounce(), light_tree_cos_bound_subtended_angle(), microfacet_ggx_sample_vndf(), phase_henyey_greenstein(), point_light_sample(), sample_cos_hemisphere(), blender::eevee::Sampling::sample_hemisphere(), blender::eevee::Sampling::sample_sphere(), sample_uniform_cone(), sample_uniform_hemisphere(), sin_from_cos(), sin_sqr_to_one_minus_cos(), sky_radiance_nishita(), solve_quadratic(), spot_light_sample(), svm_math(), and blender::nodes::try_dispatch_float_math_fl_to_fl().