|
Blender V4.5
|
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.
| MINLINE float safe_acosf | ( | float | a | ) |
Definition at line 54 of file math_base_safe_inline.cc.
References acosf, ccl_device, CLAMP, clamp(), MINLINE, and safe_acosf().
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_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(), safe_acosf(), safe_acosf(), 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().
| MINLINE float safe_asinf | ( | float | a | ) |
Definition at line 48 of file math_base_safe_inline.cc.
References asinf, ccl_device, CLAMP, clamp(), MINLINE, and safe_asinf().
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(), safe_asinf(), safe_asinf(), spherical_stereo_transform(), svm_math(), and blender::nodes::try_dispatch_float_math_fl_to_fl().
| MINLINE float safe_divide | ( | float | a, |
| float | b ) |
Definition at line 15 of file math_base_safe_inline.cc.
References b, ccl_device, MINLINE, and safe_divide().
Referenced by area_light_rect_sample(), bsdf_eval_pass_diffuse_weight(), bsdf_eval_pass_glossy_weight(), bsdf_hair_huang_albedo(), bsdf_microfacet_eval(), bsdf_microfacet_sample(), blender::nodes::node_shader_map_range_cc::build_float_linear(), blender::nodes::node_shader_map_range_cc::build_float_stepped(), BVHObjectBinning::BVHObjectBinning(), BVHSpatialSplit::BVHSpatialSplit(), d_gamma_d_h(), fisheye_to_direction(), fractal_voronoi_x_fx(), geometry_collide_offset(), gizmo_calc_rect_view_scale(), gizmo_spot_blend_prop_matrix_set(), hair_attenuation(), relaxation_iteration_uv(), safe_divide(), safe_divide(), safe_divide(), safe_divide(), safe_divide(), safe_divide(), safe_divide(), safe_divide(), safe_divide(), safe_divide(), safe_divide(), 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().
| MINLINE float safe_inverse_sqrtf | ( | float | a | ) |
Definition at line 43 of file math_base_safe_inline.cc.
References MINLINE, safe_inverse_sqrtf(), and sqrtf.
Referenced by safe_inverse_sqrtf(), and blender::nodes::try_dispatch_float_math_fl_to_fl().
| MINLINE float safe_logf | ( | float | a, |
| float | base ) |
Definition at line 30 of file math_base_safe_inline.cc.
References b, ccl_device, logf, MINLINE, safe_divide(), safe_logf(), and UNLIKELY.
Referenced by safe_logf(), safe_logf(), svm_math(), TEST(), and blender::nodes::try_dispatch_float_math_fl_fl_to_fl().
| MINLINE float safe_modf | ( | float | a, |
| float | b ) |
Definition at line 20 of file math_base_safe_inline.cc.
References b, fmodf, MINLINE, and safe_modf().
Referenced by safe_modf(), TEST(), and blender::nodes::try_dispatch_float_math_fl_fl_to_fl().
| MINLINE float safe_powf | ( | float | base, |
| float | exponent ) |
Definition at line 60 of file math_base_safe_inline.cc.
References b, ccl_device, compatible_powf(), float_to_int(), MINLINE, powf, safe_powf(), and UNLIKELY.
Referenced by safe_powf(), safe_powf(), svm_math(), svm_vector_math(), TEST(), blender::nodes::try_dispatch_float_math_fl3_fl3_to_fl3(), and blender::nodes::try_dispatch_float_math_fl_fl_to_fl().
| MINLINE float safe_sqrtf | ( | float | a | ) |
Definition at line 38 of file math_base_safe_inline.cc.
References ccl_device_inline, max, max_ff(), MINLINE, safe_sqrtf(), and sqrtf.
Referenced by blo_do_versions_300(), boid_body(), boid_brain(), bsdf_sheen_sample(), bssrdf_burley_sample(), cos_from_sin(), cos_theta(), disk_to_hemisphere(), ensure_valid_specular_reflection(), fresnel_dielectric_polarized(), guiding_record_surface_bounce(), light_tree_cos_bound_subtended_angle(), microfacet_ggx_sample_vndf(), mnee_sample_bsdf_dh(), phase_henyey_greenstein(), point_light_sample(), safe_sqrtf(), safe_sqrtf(), 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().