[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53229] trunk/blender/source/blender: replace MIN/MAX 3, 4 with inline functions

Campbell Barton ideasman42 at gmail.com
Fri Dec 21 06:07:31 CET 2012


Revision: 53229
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53229
Author:   campbellbarton
Date:     2012-12-21 05:07:26 +0000 (Fri, 21 Dec 2012)
Log Message:
-----------
replace MIN/MAX 3,4 with inline functions

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c
    trunk/blender/source/blender/blenkernel/intern/fcurve.c
    trunk/blender/source/blender/blenkernel/intern/mball.c
    trunk/blender/source/blender/blenkernel/intern/sequencer.c
    trunk/blender/source/blender/blenkernel/intern/smoke.c
    trunk/blender/source/blender/blenkernel/intern/softbody.c
    trunk/blender/source/blender/blenlib/intern/math_base_inline.c
    trunk/blender/source/blender/blenlib/intern/math_color.c
    trunk/blender/source/blender/blenlib/intern/math_geom.c
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/compositor/operations/COM_ScreenLensDistortionOperation.cpp
    trunk/blender/source/blender/editors/armature/reeb.c
    trunk/blender/source/blender/editors/mesh/editmesh_knife.c
    trunk/blender/source/blender/editors/mesh/meshtools.c
    trunk/blender/source/blender/editors/physics/physics_fluid.c
    trunk/blender/source/blender/editors/space_clip/tracking_select.c
    trunk/blender/source/blender/editors/space_node/drawnode.c
    trunk/blender/source/blender/editors/space_sequencer/sequencer_add.c
    trunk/blender/source/blender/editors/space_view3d/drawvolume.c
    trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
    trunk/blender/source/blender/editors/space_view3d/view3d_view.c
    trunk/blender/source/blender/editors/uvedit/uvedit_parametrizer.c
    trunk/blender/source/blender/gpu/intern/gpu_draw.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_lensdist.c
    trunk/blender/source/blender/python/mathutils/mathutils_geometry.c
    trunk/blender/source/blender/render/intern/raytrace/rayobject_octree.cpp
    trunk/blender/source/blender/render/intern/source/imagetexture.c
    trunk/blender/source/blender/render/intern/source/occlusion.c
    trunk/blender/source/blender/render/intern/source/render_texture.c
    trunk/blender/source/blender/render/intern/source/shadeoutput.c
    trunk/blender/source/blender/render/intern/source/volume_precache.c

Modified: trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c	2012-12-21 05:03:47 UTC (rev 53228)
+++ trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c	2012-12-21 05:07:26 UTC (rev 53229)
@@ -687,7 +687,7 @@
 static float getSurfaceDimension(PaintSurfaceData *sData)
 {
 	Bounds3D *mb = &sData->bData->mesh_bounds;
-	return MAX3((mb->max[0] - mb->min[0]), (mb->max[1] - mb->min[1]), (mb->max[2] - mb->min[2]));
+	return max_fff((mb->max[0] - mb->min[0]), (mb->max[1] - mb->min[1]), (mb->max[2] - mb->min[2]));
 }
 
 static void freeGrid(PaintSurfaceData *data)
@@ -754,14 +754,14 @@
 		/* get dimensions */
 		sub_v3_v3v3(dim, grid->grid_bounds.max, grid->grid_bounds.min);
 		copy_v3_v3(td, dim);
-		min_dim = MAX3(td[0], td[1], td[2]) / 1000.f;
+		min_dim = max_fff(td[0], td[1], td[2]) / 1000.f;
 
 		/* deactivate zero axises */
 		for (i = 0; i < 3; i++) {
 			if (td[i] < min_dim) { td[i] = 1.0f; axis -= 1; }
 		}
 
-		if (axis == 0 || MAX3(td[0], td[1], td[2]) < 0.0001f) {
+		if (axis == 0 || max_fff(td[0], td[1], td[2]) < 0.0001f) {
 			MEM_freeN(grid_bounds);
 			MEM_freeN(bData->grid);
 			bData->grid = NULL;
@@ -4260,7 +4260,7 @@
 	if (surface->effect & MOD_DPAINT_EFFECT_DO_SHRINK)
 		shrink_speed = surface->shrink_speed;
 
-	fastest_effect = MAX3(spread_speed, shrink_speed, average_force);
+	fastest_effect = max_fff(spread_speed, shrink_speed, average_force);
 	avg_dist = bData->average_dist * CANVAS_REL_SIZE / getSurfaceDimension(sData);
 
 	steps = (int)ceil(1.5f * EFF_MOVEMENT_PER_FRAME * fastest_effect / avg_dist * timescale);
@@ -4444,8 +4444,7 @@
 	float dt, min_dist, damp_factor;
 	float wave_speed = surface->wave_speed;
 	double average_dist = 0.0f;
-	Bounds3D *mb = &sData->bData->mesh_bounds;
-	float canvas_size = MAX3((mb->max[0] - mb->min[0]), (mb->max[1] - mb->min[1]), (mb->max[2] - mb->min[2]));
+	const float canvas_size = getSurfaceDimension(sData);
 	float wave_scale = CANVAS_REL_SIZE / canvas_size;
 
 	/* allocate memory */

Modified: trunk/blender/source/blender/blenkernel/intern/fcurve.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/fcurve.c	2012-12-21 05:03:47 UTC (rev 53228)
+++ trunk/blender/source/blender/blenkernel/intern/fcurve.c	2012-12-21 05:07:26 UTC (rev 53229)
@@ -500,8 +500,8 @@
 					BLI_assert(bezt_last != NULL);
 					
 					if (include_handles) {
-						xminv = MIN3(xminv, bezt_first->vec[0][0], bezt_first->vec[1][0]);
-						xmaxv = MAX3(xmaxv, bezt_last->vec[1][0],  bezt_last->vec[2][0]);
+						xminv = min_fff(xminv, bezt_first->vec[0][0], bezt_first->vec[1][0]);
+						xmaxv = max_fff(xmaxv, bezt_last->vec[1][0],  bezt_last->vec[2][0]);
 					}
 					else {
 						xminv = min_ff(xminv, bezt_first->vec[1][0]);
@@ -517,8 +517,8 @@
 				for (bezt = fcu->bezt, i = 0; i < fcu->totvert; bezt++, i++) {
 					if ((do_sel_only == FALSE) || BEZSELECTED(bezt)) {
 						if (include_handles) {
-							yminv = MIN4(yminv, bezt->vec[1][1], bezt->vec[0][1], bezt->vec[2][1]);
-							ymaxv = MAX4(ymaxv, bezt->vec[1][1], bezt->vec[0][1], bezt->vec[2][1]);
+							yminv = min_ffff(yminv, bezt->vec[1][1], bezt->vec[0][1], bezt->vec[2][1]);
+							ymaxv = max_ffff(ymaxv, bezt->vec[1][1], bezt->vec[0][1], bezt->vec[2][1]);
 						}
 						else {
 							yminv = min_ff(yminv, bezt->vec[1][1]);

Modified: trunk/blender/source/blender/blenkernel/intern/mball.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mball.c	2012-12-21 05:03:47 UTC (rev 53228)
+++ trunk/blender/source/blender/blenkernel/intern/mball.c	2012-12-21 05:07:26 UTC (rev 53229)
@@ -1514,7 +1514,7 @@
 		float in_v /*, out_v*/;
 		float workp[3];
 		float dvec[3];
-		float tmp_v, workp_v, max_len, len, nx, ny, nz, MAXN;
+		float tmp_v, workp_v, max_len, nx, ny, nz, max_dim;
 
 		calc_mballco(ml, in);
 		in_v = mbproc->function(in[0], in[1], in[2]);
@@ -1573,17 +1573,17 @@
 					ny = abs((out[1] - in[1]) / mbproc->size);
 					nz = abs((out[2] - in[2]) / mbproc->size);
 					
-					MAXN = MAX3(nx, ny, nz);
-					if (MAXN != 0.0f) {
-						dvec[0] = (out[0] - in[0]) / MAXN;
-						dvec[1] = (out[1] - in[1]) / MAXN;
-						dvec[2] = (out[2] - in[2]) / MAXN;
+					max_dim = max_fff(nx, ny, nz);
+					if (max_dim != 0.0f) {
+						float len = 0.0f;
 
-						len = 0.0;
+						dvec[0] = (out[0] - in[0]) / max_dim;
+						dvec[1] = (out[1] - in[1]) / max_dim;
+						dvec[2] = (out[2] - in[2]) / max_dim;
+
 						while (len <= max_len) {
-							workp[0] += dvec[0];
-							workp[1] += dvec[1];
-							workp[2] += dvec[2];
+							add_v3_v3(workp, dvec);
+
 							/* compute value of implicite function */
 							tmp_v = mbproc->function(workp[0], workp[1], workp[2]);
 							/* add cube to the stack, when value of implicite function crosses zero value */

Modified: trunk/blender/source/blender/blenkernel/intern/sequencer.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sequencer.c	2012-12-21 05:03:47 UTC (rev 53228)
+++ trunk/blender/source/blender/blenkernel/intern/sequencer.c	2012-12-21 05:07:26 UTC (rev 53229)
@@ -593,8 +593,8 @@
 			/* XXX These resets should not be necessary, but users used to be able to
 			 *     edit effect's length, leading to strange results. See [#29190] */
 			seq->startofs = seq->endofs = seq->startstill = seq->endstill = 0;
-			seq->start = seq->startdisp = MAX3(seq->seq1->startdisp, seq->seq2->startdisp, seq->seq3->startdisp);
-			seq->enddisp = MIN3(seq->seq1->enddisp, seq->seq2->enddisp, seq->seq3->enddisp);
+			seq->start = seq->startdisp = max_iii(seq->seq1->startdisp, seq->seq2->startdisp, seq->seq3->startdisp);
+			seq->enddisp                = min_iii(seq->seq1->enddisp,   seq->seq2->enddisp,   seq->seq3->enddisp);
 			/* we cant help if strips don't overlap, it wont give useful results.
 			 * but at least ensure 'len' is never negative which causes bad bugs elsewhere. */
 			if (seq->enddisp < seq->startdisp) {

Modified: trunk/blender/source/blender/blenkernel/intern/smoke.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/smoke.c	2012-12-21 05:03:47 UTC (rev 53228)
+++ trunk/blender/source/blender/blenkernel/intern/smoke.c	2012-12-21 05:07:26 UTC (rev 53229)
@@ -170,7 +170,7 @@
 
 	if (free_old && sds->fluid)
 		smoke_free(sds->fluid);
-	if (!MIN3(res[0], res[1], res[2])) {
+	if (!min_iii(res[0], res[1], res[2])) {
 		sds->fluid = NULL;
 		return;
 	}
@@ -191,7 +191,7 @@
 
 	if (free_old && sds->wt)
 		smoke_turbulence_free(sds->wt);
-	if (!MIN3(res[0], res[1], res[2])) {
+	if (!min_iii(res[0], res[1], res[2])) {
 		sds->wt = NULL;
 		return;
 	}

Modified: trunk/blender/source/blender/blenkernel/intern/softbody.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/softbody.c	2012-12-21 05:03:47 UTC (rev 53228)
+++ trunk/blender/source/blender/blenkernel/intern/softbody.c	2012-12-21 05:07:26 UTC (rev 53229)
@@ -1097,12 +1097,12 @@
 	float facedist, outerfacethickness, tune = 10.f;
 	int a, deflected=0;
 
-	aabbmin[0] = MIN3(face_v1[0], face_v2[0], face_v3[0]);
-	aabbmin[1] = MIN3(face_v1[1], face_v2[1], face_v3[1]);
-	aabbmin[2] = MIN3(face_v1[2], face_v2[2], face_v3[2]);
-	aabbmax[0] = MAX3(face_v1[0], face_v2[0], face_v3[0]);
-	aabbmax[1] = MAX3(face_v1[1], face_v2[1], face_v3[1]);
-	aabbmax[2] = MAX3(face_v1[2], face_v2[2], face_v3[2]);
+	aabbmin[0] = min_fff(face_v1[0], face_v2[0], face_v3[0]);
+	aabbmin[1] = min_fff(face_v1[1], face_v2[1], face_v3[1]);
+	aabbmin[2] = min_fff(face_v1[2], face_v2[2], face_v3[2]);
+	aabbmax[0] = max_fff(face_v1[0], face_v2[0], face_v3[0]);
+	aabbmax[1] = max_fff(face_v1[1], face_v2[1], face_v3[1]);
+	aabbmax[2] = max_fff(face_v1[2], face_v2[2], face_v3[2]);
 
 	/* calculate face normal once again SIGH */
 	sub_v3_v3v3(edge1, face_v1, face_v2);
@@ -1196,12 +1196,12 @@
 	float t, tune = 10.0f;
 	int a, deflected=0;
 
-	aabbmin[0] = MIN3(face_v1[0], face_v2[0], face_v3[0]);
-	aabbmin[1] = MIN3(face_v1[1], face_v2[1], face_v3[1]);
-	aabbmin[2] = MIN3(face_v1[2], face_v2[2], face_v3[2]);
-	aabbmax[0] = MAX3(face_v1[0], face_v2[0], face_v3[0]);
-	aabbmax[1] = MAX3(face_v1[1], face_v2[1], face_v3[1]);
-	aabbmax[2] = MAX3(face_v1[2], face_v2[2], face_v3[2]);
+	aabbmin[0] = min_fff(face_v1[0], face_v2[0], face_v3[0]);
+	aabbmin[1] = min_fff(face_v1[1], face_v2[1], face_v3[1]);
+	aabbmin[2] = min_fff(face_v1[2], face_v2[2], face_v3[2]);
+	aabbmax[0] = max_fff(face_v1[0], face_v2[0], face_v3[0]);
+	aabbmax[1] = max_fff(face_v1[1], face_v2[1], face_v3[1]);
+	aabbmax[2] = max_fff(face_v1[2], face_v2[2], face_v3[2]);
 
 	hash  = vertexowner->soft->scratch->colliderhash;
 	ihash =	BLI_ghashIterator_new(hash);

Modified: trunk/blender/source/blender/blenlib/intern/math_base_inline.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/math_base_inline.c	2012-12-21 05:03:47 UTC (rev 53228)
+++ trunk/blender/source/blender/blenlib/intern/math_base_inline.c	2012-12-21 05:07:26 UTC (rev 53229)
@@ -175,6 +175,42 @@
 	return (b < a) ? a : b;
 }
 
+MINLINE float min_fff(float a, float b, float c)
+{
+	return min_ff(min_ff(a, b), c);
+}
+MINLINE float max_fff(float a, float b, float c)
+{
+	return max_ff(max_ff(a, b), c);
+}
+
+MINLINE int min_iii(int a, int b, int c)
+{
+	return min_ii(min_ii(a, b), c);
+}
+MINLINE int max_iii(int a, int b, int c)
+{
+	return max_ii(max_ii(a, b), c);
+}
+
+MINLINE float min_ffff(float a, float b, float c, float d)
+{
+	return min_ff(min_fff(a, b, c), d);
+}
+MINLINE float max_ffff(float a, float b, float c, float d)
+{
+	return max_ff(max_fff(a, b, c), d);
+}
+
+MINLINE int min_iiii(int a, int b, int c, int d)
+{
+	return min_ii(min_iii(a, b, c), d);
+}
+MINLINE int max_iiii(int a, int b, int c, int d)
+{
+	return max_ii(max_iii(a, b, c), d);
+}
+
 MINLINE float signf(float f)
 {
 	return (f < 0.f) ? -1.f : 1.f;

Modified: trunk/blender/source/blender/blenlib/intern/math_color.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/math_color.c	2012-12-21 05:03:47 UTC (rev 53228)

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list