Blender V4.3
math_float4.h File Reference

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline float4 zero_float4 ()
 
ccl_device_inline float4 one_float4 ()
 
ccl_device_inline int4 cast (const float4 a)
 
ccl_device_inline float4 operator- (const float4 &a)
 
ccl_device_inline float4 operator* (const float4 a, const float4 b)
 
ccl_device_inline float4 operator* (const float4 a, float f)
 
ccl_device_inline float4 operator* (float f, const float4 a)
 
ccl_device_inline float4 operator/ (const float4 a, float f)
 
ccl_device_inline float4 operator/ (const float4 a, const float4 b)
 
ccl_device_inline float4 operator+ (const float4 a, const float4 b)
 
ccl_device_inline float4 operator+ (const float4 a, const float f)
 
ccl_device_inline float4 operator- (const float4 a, const float4 b)
 
ccl_device_inline float4 operator- (const float4 a, const float f)
 
ccl_device_inline float4 operator+= (float4 &a, const float4 b)
 
ccl_device_inline float4 operator-= (float4 &a, const float4 b)
 
ccl_device_inline float4 operator*= (float4 &a, const float4 b)
 
ccl_device_inline float4 operator*= (float4 &a, float f)
 
ccl_device_inline float4 operator/= (float4 &a, const float4 b)
 
ccl_device_inline float4 operator/= (float4 &a, float f)
 
ccl_device_inline int4 operator< (const float4 a, const float4 b)
 
ccl_device_inline int4 operator>= (const float4 a, const float4 b)
 
ccl_device_inline int4 operator<= (const float4 a, const float4 b)
 
ccl_device_inline bool operator== (const float4 a, const float4 b)
 
ccl_device_inline const float4 operator^ (const float4 a, const float4 b)
 
ccl_device_inline float4 min (const float4 a, const float4 b)
 
ccl_device_inline float4 max (const float4 a, const float4 b)
 
ccl_device_inline float4 clamp (const float4 a, const float4 mn, const float4 mx)
 
ccl_device_inline const float4 madd (const float4 a, const float4 b, const float4 c)
 
ccl_device_inline float4 msub (const float4 a, const float4 b, const float4 c)
 
ccl_device_inline float reduce_add (const float4 a)
 
ccl_device_inline float reduce_min (const float4 a)
 
ccl_device_inline float reduce_max (const float4 a)
 
ccl_device_inline float dot (const float4 a, const float4 b)
 
ccl_device_inline float len (const float4 a)
 
ccl_device_inline float len_squared (const float4 a)
 
ccl_device_inline float4 sqr (const float4 a)
 
ccl_device_inline float distance (const float4 a, const float4 b)
 
ccl_device_inline float4 rcp (const float4 a)
 
ccl_device_inline float4 sqrt (const float4 a)
 
ccl_device_inline float4 cross (const float4 a, const float4 b)
 
ccl_device_inline bool is_zero (const float4 a)
 
ccl_device_inline float average (const float4 a)
 
ccl_device_inline float4 normalize (const float4 a)
 
ccl_device_inline float4 safe_normalize (const float4 a)
 
ccl_device_inline float4 fabs (const float4 a)
 
ccl_device_inline float4 fmod (const float4 a, const float b)
 
ccl_device_inline float4 floor (const float4 a)
 
ccl_device_inline float4 floorfrac (const float4 x, ccl_private int4 *i)
 
ccl_device_inline float4 mix (const float4 a, const float4 b, float t)
 
ccl_device_inline float4 mix (const float4 a, const float4 b, const float4 t)
 
ccl_device_inline float4 saturate (const float4 a)
 
ccl_device_inline float4 exp (float4 v)
 
ccl_device_inline float4 log (float4 v)
 
ccl_device_inline bool isequal (const float4 a, const float4 b)
 
ccl_device_inline float4 select (const int4 mask, const float4 a, const float4 b)
 
ccl_device_inline float4 mask (const int4 mask, const float4 a)
 
ccl_device_inline float4 load_float4 (ccl_private const float *v)
 
ccl_device_inline float4 safe_divide (const float4 a, const float b)
 
ccl_device_inline float4 safe_divide (const float4 a, const float4 b)
 
ccl_device_inline bool isfinite_safe (float4 v)
 
ccl_device_inline float4 ensure_finite (float4 v)
 
ccl_device_inline float4 power (float4 v, float e)
 

Function Documentation

◆ average()

ccl_device_inline float average ( const float4 a)

Definition at line 444 of file math_float4.h.

References reduce_add().

◆ cast()

◆ clamp()

ccl_device_inline float4 clamp ( const float4 a,
const float4 mn,
const float4 mx )

Definition at line 211 of file math_float4.h.

References max, and min.

◆ cross()

ccl_device_inline float4 cross ( const float4 a,
const float4 b )

Definition at line 425 of file math_float4.h.

References b, and make_float4().

◆ distance()

ccl_device_inline float distance ( const float4 a,
const float4 b )

Definition at line 401 of file math_float4.h.

References b, and len.

◆ dot()

ccl_device_inline float dot ( const float4 a,
const float4 b )

Definition at line 370 of file math_float4.h.

References b.

Referenced by len(), and len_squared().

◆ ensure_finite()

ccl_device_inline float4 ensure_finite ( float4 v)

Definition at line 594 of file math_float4.h.

References isfinite_safe(), and v.

◆ exp()

ccl_device_inline float4 exp ( float4 v)

Definition at line 522 of file math_float4.h.

References expf, make_float4(), and v.

◆ fabs()

ccl_device_inline float4 fabs ( const float4 a)

Definition at line 460 of file math_float4.h.

References fabsf, and make_float4().

◆ floor()

ccl_device_inline float4 floor ( const float4 a)

Definition at line 478 of file math_float4.h.

References floorf, and make_float4().

Referenced by floorfrac().

◆ floorfrac()

ccl_device_inline float4 floorfrac ( const float4 x,
ccl_private int4 * i )

Definition at line 491 of file math_float4.h.

References floor(), and floorfrac().

Referenced by floorfrac().

◆ fmod()

ccl_device_inline float4 fmod ( const float4 a,
const float b )

Definition at line 473 of file math_float4.h.

References b, fmodf, and make_float4().

◆ is_zero()

ccl_device_inline bool is_zero ( const float4 a)

Definition at line 435 of file math_float4.h.

References zero_float4().

◆ isequal()

ccl_device_inline bool isequal ( const float4 a,
const float4 b )

Definition at line 534 of file math_float4.h.

References b.

◆ isfinite_safe()

ccl_device_inline bool isfinite_safe ( float4 v)

Definition at line 589 of file math_float4.h.

References isfinite_safe(), and v.

Referenced by ensure_finite(), and isfinite_safe().

◆ len()

ccl_device_inline float len ( const float4 a)

Definition at line 385 of file math_float4.h.

References dot(), and sqrtf.

◆ len_squared()

ccl_device_inline float len_squared ( const float4 a)

Definition at line 390 of file math_float4.h.

References dot().

◆ load_float4()

ccl_device_inline float4 load_float4 ( ccl_private const float * v)

Definition at line 565 of file math_float4.h.

References make_float4(), and v.

◆ log()

ccl_device_inline float4 log ( float4 v)

Definition at line 527 of file math_float4.h.

References logf, make_float4(), and v.

◆ madd()

ccl_device_inline const float4 madd ( const float4 a,
const float4 b,
const float4 c )

Definition at line 217 of file math_float4.h.

References b.

◆ mask()

ccl_device_inline float4 mask ( const int4 mask,
const float4 a )

Definition at line 559 of file math_float4.h.

References select(), and zero_float4().

Referenced by blender::fn::multi_function::InstructionScheduler::add_referenced_indices(), bake_ibuf_normalize_displacement(), BKE_gpencil_free_layer_masks(), BKE_gpencil_layer_mask_remove_ref(), BKE_mask_new(), bm_log_vert_values_swap(), brush_painter_mask_ibuf_new(), blender::fn::multi_function::build::detail::build_multi_function_call_from_element_fn(), bvh_unaligned_node_intersect(), blender::geometry::calc_all_corner_groups(), blender::draw::calc_mesh_edge_visibility(), blender::geometry::calc_new_edges(), blender::draw::calc_vert_visibility_mapped_mesh(), blender::draw::calc_vert_visibility_mesh(), blender::nodes::node_geo_curve_sample_cc::SampleCurveFunction::call(), blender::nodes::node_geo_index_switch_cc::IndexSwitchFunction::call(), blender::nodes::node_geo_sample_index_cc::SampleIndexFunction::call(), cdDM_from_mesh_ex(), do_projectpaint_draw_f(), do_projectpaint_mask_f(), do_projectpaint_soften(), do_projectpaint_soften_f(), do_projectpaint_thread(), ED_mask_new(), ED_region_panels_draw(), ED_space_clip_set_mask(), ED_space_image_set_mask(), blender::index_mask::evaluate_coarse(), blender::index_mask::evaluate_expression(), blender::fn::evaluate_fields(), blender::fn::multi_function::build::detail::execute_array(), blender::nodes::execute_multi_function_on_value_variant__single(), blender::draw::extract_sculpt_data(), blender::index_mask::IndexMask::from_segments(), blender::index_mask::get_static_index_mask_for_min_size(), blender::bke::GeometryFieldInput::get_varray_for_context(), Cubes::getNumTriangle(), Cubes::getTriangle(), hash_shuffle_uint(), IMB_filter_extend(), IMB_rectblend(), blender::bits::inplace_or_masked(), mask_alloc(), maskmodifier_apply_threaded(), modifier_apply_threaded(), multires_disp_run_cb(), blender::ed::space_node::node_add_mask_exec(), paint_2d_do_making_brush(), paint_2d_lift_soften(), project_paint_face_init(), project_paint_uvpixel_mask(), blender::render::texturemargin::TextureMarginMap::rasterize_tri(), blender::geometry::reassign_loose_edge_verts(), rna_enum_bitmask(), select_grouped_data(), sequencer_add_mask_strip_exec(), blender::compositor::MaskOperation::set_mask(), slide_point_customdata(), slide_spline_curvature_customdata(), blender::bits::spans_equal_masked(), blender::split_index_range_by_alignment(), blender::ed::spreadsheet::spreadsheet_filter_rows(), standard_test(), stencil_control_invoke(), blender::fn::multi_function::tests::TEST(), blender::fn::multi_function::tests::TEST(), blender::fn::multi_function::tests::TEST(), blender::fn::multi_function::tests::TEST(), blender::fn::tests::TEST(), blender::index_mask::tests::TEST(), blender::index_mask::tests::TEST(), blender::index_mask::tests::TEST(), blender::index_mask::tests::TEST(), blender::index_mask::tests::TEST(), blender::index_mask::tests::TEST(), blender::gpu::to_gl(), track_mask_gpencil_layer_rasterize(), tracking_configure_tracker(), tracking_track_get_mask_for_region(), UI_view2d_view_to_region_m4(), blender::compositor::BoxMaskOperation::update_memory_buffer_partial(), blender::compositor::EllipseMaskOperation::update_memory_buffer_partial(), GHOST_NDOFManager::updateButtonsBitmask(), utf8_char_decode(), and blender::ed::object::vgroup_selected_get().

◆ max()

ccl_device_inline float4 max ( const float4 a,
const float4 b )

Definition at line 202 of file math_float4.h.

References b, make_float4(), and max.

◆ min()

ccl_device_inline float4 min ( const float4 a,
const float4 b )

Definition at line 193 of file math_float4.h.

References b, make_float4(), and min.

◆ mix() [1/2]

ccl_device_inline float4 mix ( const float4 a,
const float4 b,
const float4 t )

Definition at line 512 of file math_float4.h.

References b.

◆ mix() [2/2]

ccl_device_inline float4 mix ( const float4 a,
const float4 b,
float t )

Definition at line 507 of file math_float4.h.

References b.

◆ msub()

ccl_device_inline float4 msub ( const float4 a,
const float4 b,
const float4 c )

Definition at line 232 of file math_float4.h.

References b.

Referenced by cross(), and ray_triangle_cross().

◆ normalize()

ccl_device_inline float4 normalize ( const float4 a)

Definition at line 449 of file math_float4.h.

References len.

◆ one_float4()

ccl_device_inline float4 one_float4 ( )

Definition at line 24 of file math_float4.h.

References make_float4().

◆ operator*() [1/3]

ccl_device_inline float4 operator* ( const float4 a,
const float4 b )

Definition at line 50 of file math_float4.h.

References b, and make_float4().

◆ operator*() [2/3]

ccl_device_inline float4 operator* ( const float4 a,
float f )

Definition at line 59 of file math_float4.h.

References make_float4().

◆ operator*() [3/3]

ccl_device_inline float4 operator* ( float f,
const float4 a )

Definition at line 68 of file math_float4.h.

◆ operator*=() [1/2]

ccl_device_inline float4 operator*= ( float4 & a,
const float4 b )

Definition at line 125 of file math_float4.h.

References b.

◆ operator*=() [2/2]

ccl_device_inline float4 operator*= ( float4 & a,
float f )

Definition at line 130 of file math_float4.h.

◆ operator+() [1/2]

ccl_device_inline float4 operator+ ( const float4 a,
const float f )

Definition at line 96 of file math_float4.h.

References make_float4().

◆ operator+() [2/2]

ccl_device_inline float4 operator+ ( const float4 a,
const float4 b )

Definition at line 87 of file math_float4.h.

References b, and make_float4().

◆ operator+=()

ccl_device_inline float4 operator+= ( float4 & a,
const float4 b )

Definition at line 115 of file math_float4.h.

References b.

◆ operator-() [1/3]

ccl_device_inline float4 operator- ( const float4 & a)

Definition at line 40 of file math_float4.h.

References make_float4().

◆ operator-() [2/3]

ccl_device_inline float4 operator- ( const float4 a,
const float f )

Definition at line 110 of file math_float4.h.

References make_float4().

◆ operator-() [3/3]

ccl_device_inline float4 operator- ( const float4 a,
const float4 b )

Definition at line 101 of file math_float4.h.

References b, and make_float4().

◆ operator-=()

ccl_device_inline float4 operator-= ( float4 & a,
const float4 b )

Definition at line 120 of file math_float4.h.

References b.

◆ operator/() [1/2]

ccl_device_inline float4 operator/ ( const float4 a,
const float4 b )

Definition at line 78 of file math_float4.h.

References b, and make_float4().

◆ operator/() [2/2]

ccl_device_inline float4 operator/ ( const float4 a,
float f )

Definition at line 73 of file math_float4.h.

◆ operator/=() [1/2]

ccl_device_inline float4 operator/= ( float4 & a,
const float4 b )

Definition at line 135 of file math_float4.h.

References b.

◆ operator/=() [2/2]

ccl_device_inline float4 operator/= ( float4 & a,
float f )

Definition at line 140 of file math_float4.h.

◆ operator<()

ccl_device_inline int4 operator< ( const float4 a,
const float4 b )

Definition at line 145 of file math_float4.h.

References b, and make_int4().

◆ operator<=()

ccl_device_inline int4 operator<= ( const float4 a,
const float4 b )

Definition at line 163 of file math_float4.h.

References b, and make_int4().

◆ operator==()

ccl_device_inline bool operator== ( const float4 a,
const float4 b )

Definition at line 172 of file math_float4.h.

References b.

◆ operator>=()

ccl_device_inline int4 operator>= ( const float4 a,
const float4 b )

Definition at line 154 of file math_float4.h.

References b, and make_int4().

◆ operator^()

ccl_device_inline const float4 operator^ ( const float4 a,
const float4 b )

Definition at line 181 of file math_float4.h.

References __float_as_uint, __uint_as_float, b, and make_float4().

◆ power()

ccl_device_inline float4 power ( float4 v,
float e )

Definition at line 608 of file math_float4.h.

References e, make_float4(), powf, and v.

◆ rcp()

ccl_device_inline float4 rcp ( const float4 a)

Definition at line 406 of file math_float4.h.

References make_float4().

◆ reduce_add()

ccl_device_inline float reduce_add ( const float4 a)

Definition at line 324 of file math_float4.h.

Referenced by average().

◆ reduce_max()

ccl_device_inline float reduce_max ( const float4 a)

Definition at line 355 of file math_float4.h.

References max.

◆ reduce_min()

ccl_device_inline float reduce_min ( const float4 a)

Definition at line 341 of file math_float4.h.

References min.

◆ safe_divide() [1/2]

ccl_device_inline float4 safe_divide ( const float4 a,
const float b )

Definition at line 576 of file math_float4.h.

References b, and zero_float4().

◆ safe_divide() [2/2]

ccl_device_inline float4 safe_divide ( const float4 a,
const float4 b )

Definition at line 581 of file math_float4.h.

References b, and make_float4().

◆ safe_normalize()

ccl_device_inline float4 safe_normalize ( const float4 a)

Definition at line 454 of file math_float4.h.

References len.

◆ saturate()

ccl_device_inline float4 saturate ( const float4 a)

Definition at line 517 of file math_float4.h.

References make_float4(), and saturatef.

◆ select()

ccl_device_inline float4 select ( const int4 mask,
const float4 a,
const float4 b )

Definition at line 544 of file math_float4.h.

References b, and make_float4().

Referenced by animchannels_box_select_exec(), armature_circle_select(), armature_reveal_exec(), armature_select_linked_impl(), armature_select_linked_pick_invoke(), arrow_draw_geom(), arrow_draw_intern(), BKE_gpencil_stroke_delete_tagged_points(), BM_edge_select_set(), BM_edge_select_set_noflush(), BM_elem_select_set(), BM_face_select_set(), BM_face_select_set_noflush(), BM_vert_select_set(), bone_collection_select(), box_select_exec(), box_select_exec(), box_select_exec(), bpoint_select_set(), blender::build_drawing(), button2d_draw_intern(), button2d_geom_draw_backdrop(), BVHObjectBinning::BVHObjectBinning(), circle_select_exec(), circle_select_exec(), clip_lasso_select_exec(), console_move_exec(), construct_param_handle_face_add(), construct_param_handle_subsurfed(), curve_nurb_select_similar_type(), curve_select_random_exec(), dial_3d_draw_util(), dial_draw_intern(), dial_geom_draw(), do_lasso_select_marker(), do_lasso_select_mask(), do_lasso_select_mesh_uv(), blender::ed::space_node::do_lasso_select_node(), blender::ed::outliner::do_outliner_bone_select_recursive(), blender::ed::outliner::do_outliner_ebone_select_recursive(), blender::ed::outliner::do_outliner_object_select_recursive(), ED_armature_ebone_select_set(), ED_curve_pick_vert_ex(), ed_marker_box_select_exec(), ED_pose_bone_select(), ED_uvedit_select_sync_flush(), EDBM_deselect_by_material(), EDBM_mesh_reveal(), edbm_reveal_exec(), edbm_select_face_by_sides_exec(), edbm_select_random_exec(), face_vert_reveal_exec(), file_box_select_exec(), file_descriptor_is_io_ready(), file_select(), filelist_entries_select_index_range_set(), filelist_entry_parent_select_set(), filelist_entry_select_index_set(), filelist_entry_select_set(), findnearestLattvert(), gizmo_cage2d_draw_intern(), gizmo_cage3d_draw_intern(), gizmo_primitive_draw_intern(), graphview_curves_reveal_exec(), blender::ed::greasepencil::grease_pencil_material_select_exec(), lattice_circle_select(), lattice_select_more_less(), lattice_select_random_exec(), mask(), mask_hide_view_clear_exec(), material_slot_de_select(), mball_circle_select(), mball_select_similar_type(), mesh_circle_select(), mouse_mesh_loop(), mouse_mesh_loop_edge(), mouse_mesh_loop_edge_ring(), mouse_mesh_loop_face(), move3d_draw_intern(), move_cursor(), move_geom_draw(), blender::ed::space_node::node_box_select_exec(), blender::ed::space_node::node_circleselect_exec(), blender::bke::node_set_selected(), nurbscurve_circle_select(), object_circle_select(), blender::ed::object::object_hide_view_clear_exec(), blender::ed::object::object_select_more_less(), blender::ed::object::object_select_random_exec(), blender::ed::outliner::outliner_box_select_exec(), blender::ed::outliner::outliner_draw_restrictbuts(), blender::ed::outliner::outliner_item_do_activate_from_cursor(), blender::geometry::p_add_ngon(), blender::geometry::p_chart_lscm_begin(), blender::geometry::p_face_add_construct(), paint_select_linked_pick_invoke(), paint_vertsel_circle_select(), paintcurve_point_select(), paintcurve_slide_invoke(), paintface_reveal(), paintface_select_linked(), paintface_select_loop(), paintface_select_loop_invoke(), paintvert_reveal(), paintvert_select_linked_pick(), paintvert_select_linked_pick_invoke(), blender::point_counts_to_keep_concurrent(), blender::points_info_sequential(), pose_circle_select(), pose_reveal_exec(), blender::reorder_strokes(), blender::draw::overlay::Resources::Resources(), reveal_exec(), reveal_exec(), reveal_metaelems_exec(), select_linked_pick_invoke(), select_random_exec(), select_random_metaelems_exec(), sequencer_box_select_exec(), set_active_action_group(), blender::draw::overlay::ShapeInstanceBuf< InstanceDataT >::ShapeInstanceBuf(), show_pose_bone_cb(), similar_edge_select_exec(), similar_face_select_exec(), similar_vert_select_exec(), SleepTillEvent(), text_move_cursor(), ui_textedit_move(), uv_box_select_exec(), uv_circle_select_exec(), blender::geometry::uv_parametrizer_face_add(), blender::geometry::uv_parametrizer_slim_live_begin(), uv_reveal_exec(), uv_select_edgeloop(), uv_select_edgering(), uv_select_faceloop(), uv_select_flush_from_tag_face(), uv_select_flush_from_tag_loop(), uv_select_flush_from_tag_sticky_loc_internal(), uv_select_more_less(), uv_select_similar_edge_exec(), uv_select_similar_face_exec(), uv_select_similar_island_exec(), uv_select_similar_vert_exec(), uv_shortest_path_pick_ex(), uvedit_edge_select_set(), uvedit_edge_select_set_noflush(), uvedit_edge_select_set_with_sticky(), uvedit_edge_select_shared_vert(), uvedit_face_select_set(), uvedit_face_select_set_with_sticky(), uvedit_face_select_shared_vert(), uvedit_uv_select_set(), uvedit_uv_select_set_with_sticky(), uvedit_uv_select_shared_vert(), uvedit_vertex_select_tagged(), blender::ed::object::vgroup_select_verts(), view3d_userdata_circleselect_init(), walker_select(), WM_gizmo_select_set(), and wm_gizmo_select_set_ex().

◆ sqr()

ccl_device_inline float4 sqr ( const float4 a)

Definition at line 395 of file math_float4.h.

◆ sqrt()

ccl_device_inline float4 sqrt ( const float4 a)

Definition at line 416 of file math_float4.h.

References make_float4(), and sqrtf.

◆ zero_float4()