[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51677] trunk/blender/source/blender: use min/max inline functions where MIN2/MAX2 were doing type conversion.

Campbell Barton ideasman42 at gmail.com
Sat Oct 27 13:18:56 CEST 2012


Revision: 51677
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51677
Author:   campbellbarton
Date:     2012-10-27 11:18:54 +0000 (Sat, 27 Oct 2012)
Log Message:
-----------
use min/max inline functions where MIN2/MAX2 were doing type conversion.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/collision.c
    trunk/blender/source/blender/blenkernel/intern/particle.c
    trunk/blender/source/blender/blenkernel/intern/scene.c
    trunk/blender/source/blender/blenlib/BLI_utildefines.h
    trunk/blender/source/blender/blenlib/intern/voronoi.c
    trunk/blender/source/blender/editors/armature/editarmature_sketch.c
    trunk/blender/source/blender/editors/interface/interface.c
    trunk/blender/source/blender/editors/interface/interface_layout.c
    trunk/blender/source/blender/editors/interface/interface_regions.c
    trunk/blender/source/blender/editors/interface/interface_templates.c
    trunk/blender/source/blender/editors/interface/interface_widgets.c
    trunk/blender/source/blender/editors/sculpt_paint/sculpt.c
    trunk/blender/source/blender/editors/space_action/action_edit.c
    trunk/blender/source/blender/editors/space_clip/tracking_ops.c
    trunk/blender/source/blender/editors/space_image/image_edit.c
    trunk/blender/source/blender/editors/space_node/node_relationships.c
    trunk/blender/source/blender/editors/space_outliner/outliner_draw.c
    trunk/blender/source/blender/editors/space_text/text_draw.c
    trunk/blender/source/blender/editors/transform/transform.c
    trunk/blender/source/blender/python/bmesh/bmesh_py_types_customdata.c
    trunk/blender/source/blender/python/mathutils/mathutils_Matrix.c
    trunk/blender/source/blender/render/intern/source/rendercore.c
    trunk/blender/source/blender/render/intern/source/shadbuf.c

Modified: trunk/blender/source/blender/blenkernel/intern/collision.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/collision.c	2012-10-27 11:12:09 UTC (rev 51676)
+++ trunk/blender/source/blender/blenkernel/intern/collision.c	2012-10-27 11:18:54 UTC (rev 51677)
@@ -312,8 +312,8 @@
 
 				/* stay on the safe side and clamp repulse */
 				if ( impulse > ALMOST_ZERO )
-					repulse = MIN2 ( repulse, 5.0*impulse );
-				repulse = MAX2 ( impulse, repulse );
+					repulse = min_ff( repulse, 5.0*impulse );
+				repulse = max_ff(impulse, repulse);
 
 				impulse = repulse / ( 1.0f + w1*w1 + w2*w2 + w3*w3 ); /* original 2.0 / 0.25 */
 				VECADDMUL ( i1, collpair->normal,  impulse );

Modified: trunk/blender/source/blender/blenkernel/intern/particle.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle.c	2012-10-27 11:12:09 UTC (rev 51676)
+++ trunk/blender/source/blender/blenkernel/intern/particle.c	2012-10-27 11:18:54 UTC (rev 51677)
@@ -899,7 +899,7 @@
 			elem->scalemax = sqrt(elem->scalemax);
 
 			/* clamp scaling */
-			scaleclamp = MIN2(elem->totchild, 10.0f);
+			scaleclamp = (float)min_ii(elem->totchild, 10);
 			elem->scalemin = MIN2(scaleclamp, elem->scalemin);
 			elem->scalemax = MIN2(scaleclamp, elem->scalemax);
 

Modified: trunk/blender/source/blender/blenkernel/intern/scene.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/scene.c	2012-10-27 11:12:09 UTC (rev 51676)
+++ trunk/blender/source/blender/blenkernel/intern/scene.c	2012-10-27 11:18:54 UTC (rev 51677)
@@ -1194,7 +1194,7 @@
 int get_render_subsurf_level(RenderData *r, int lvl)
 {
 	if (r->mode & R_SIMPLIFY)
-		return MIN2(r->simplify_subsurf, lvl);
+		return min_ii(r->simplify_subsurf, lvl);
 	else
 		return lvl;
 }
@@ -1210,7 +1210,7 @@
 int get_render_shadow_samples(RenderData *r, int samples)
 {
 	if ((r->mode & R_SIMPLIFY) && samples > 0)
-		return MIN2(r->simplify_shadowsamples, samples);
+		return min_ii(r->simplify_shadowsamples, samples);
 	else
 		return samples;
 }

Modified: trunk/blender/source/blender/blenlib/BLI_utildefines.h
===================================================================
--- trunk/blender/source/blender/blenlib/BLI_utildefines.h	2012-10-27 11:12:09 UTC (rev 51676)
+++ trunk/blender/source/blender/blenlib/BLI_utildefines.h	2012-10-27 11:18:54 UTC (rev 51677)
@@ -40,15 +40,22 @@
 #  define TRUE 1
 #endif
 
+/* useful for finding bad use of min/max */
+#if 0
+/* gcc only */
+#  define _TYPECHECK(a, b)  ((void)(((typeof(a) *)0) == ((typeof(b) *)0)))
+#else
+#  define _TYPECHECK(a, b) (void)0
+#endif
 
 /* min/max */
-#define MIN2(x, y)               ( (x) < (y) ? (x) : (y) )
-#define MIN3(x, y, z)             MIN2(MIN2((x), (y)), (z) )
-#define MIN4(x, y, z, a)           MIN2(MIN2((x), (y)), MIN2((z), (a)) )
+#define MIN2(x, y)          (_TYPECHECK(x, y), (((x) < (y) ? (x) : (y))))
+#define MIN3(x, y, z)       (MIN2(MIN2((x), (y)), (z)))
+#define MIN4(x, y, z, a)    (MIN2(MIN2((x), (y)), MIN2((z), (a))))
 
-#define MAX2(x, y)               ( (x) > (y) ? (x) : (y) )
-#define MAX3(x, y, z)             MAX2(MAX2((x), (y)), (z) )
-#define MAX4(x, y, z, a)           MAX2(MAX2((x), (y)), MAX2((z), (a)) )
+#define MAX2(x, y)          (_TYPECHECK(x, y), (((x) > (y) ? (x) : (y))))
+#define MAX3(x, y, z)       (MAX2(MAX2((x), (y)), (z)))
+#define MAX4(x, y, z, a)    (MAX2(MAX2((x), (y)), MAX2((z), (a))))
 
 #define INIT_MINMAX(min, max) {                                               \
 		(min)[0] = (min)[1] = (min)[2] =  1.0e30f;                            \
@@ -109,7 +116,7 @@
 #define CHECK_TYPE_INLINE(val, type) \
 	((void)(((type *)0) != (val)))
 
-#define SWAP(type, a, b)  {  \
+#define SWAP(type, a, b)  {    \
 	type sw_ap;                \
 	CHECK_TYPE(a, type);       \
 	CHECK_TYPE(b, type);       \

Modified: trunk/blender/source/blender/blenlib/intern/voronoi.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/voronoi.c	2012-10-27 11:12:09 UTC (rev 51676)
+++ trunk/blender/source/blender/blenlib/intern/voronoi.c	2012-10-27 11:18:54 UTC (rev 51677)
@@ -490,9 +490,9 @@
 	}
 
 	if (parabola->edge->direction[0] > 0.0f)
-		mx = MAX2(process->width, parabola->edge->start[0] + 10);
+		mx = max_ff(process->width, parabola->edge->start[0] + 10);
 	else
-		mx = MIN2(0.0, parabola->edge->start[0] - 10);
+		mx = min_ff(0.0f, parabola->edge->start[0] - 10.0f);
 
 	parabola->edge->end[0] = mx;
 	parabola->edge->end[1] = mx * parabola->edge->f + parabola->edge->g;

Modified: trunk/blender/source/blender/editors/armature/editarmature_sketch.c
===================================================================
--- trunk/blender/source/blender/editors/armature/editarmature_sketch.c	2012-10-27 11:12:09 UTC (rev 51676)
+++ trunk/blender/source/blender/editors/armature/editarmature_sketch.c	2012-10-27 11:18:54 UTC (rev 51677)
@@ -440,7 +440,7 @@
 
 static float sk_clampPointSize(SK_Point *pt, float size)
 {
-	return MAX2(size * pt->size, size / 2);
+	return max_ff(size * pt->size, size / 2);
 }
 
 static void sk_drawPoint(GLUquadric *quad, SK_Point *pt, float size)

Modified: trunk/blender/source/blender/editors/interface/interface.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface.c	2012-10-27 11:12:09 UTC (rev 51676)
+++ trunk/blender/source/blender/editors/interface/interface.c	2012-10-27 11:18:54 UTC (rev 51677)
@@ -1697,7 +1697,7 @@
 		}
 		else if (buf && buf != str) {
 			/* string was too long, we have to truncate */
-			memcpy(str, buf, MIN2(maxlen, buf_len + 1));
+			memcpy(str, buf, MIN2(maxlen, (size_t)buf_len + 1));
 			MEM_freeN(buf);
 		}
 	}

Modified: trunk/blender/source/blender/editors/interface/interface_layout.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_layout.c	2012-10-27 11:12:09 UTC (rev 51676)
+++ trunk/blender/source/blender/editors/interface/interface_layout.c	2012-10-27 11:18:54 UTC (rev 51677)
@@ -1377,7 +1377,7 @@
 	/* turn button into search button */
 	if (searchprop) {
 		but->type = SEARCH_MENU;
-		but->hardmax = MAX2(but->hardmax, 256);
+		but->hardmax = MAX2(but->hardmax, 256.0f);
 		but->rnasearchpoin = *searchptr;
 		but->rnasearchprop = searchprop;
 		but->flag |= UI_ICON_LEFT | UI_TEXT_LEFT;

Modified: trunk/blender/source/blender/editors/interface/interface_regions.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_regions.c	2012-10-27 11:12:09 UTC (rev 51676)
+++ trunk/blender/source/blender/editors/interface/interface_regions.c	2012-10-27 11:18:54 UTC (rev 51677)
@@ -671,7 +671,7 @@
 
 	for (a = 0, fontw = 0, fonth = 0; a < data->totline; a++) {
 		w = BLF_width(data->fstyle.uifont_id, data->lines[a]);
-		fontw = MAX2(fontw, w);
+		fontw = max_ff(fontw, (float)w);
 		fonth += (a == 0) ? h : h + TIP_MARGIN_Y;
 	}
 

Modified: trunk/blender/source/blender/editors/interface/interface_templates.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_templates.c	2012-10-27 11:12:09 UTC (rev 51676)
+++ trunk/blender/source/blender/editors/interface/interface_templates.c	2012-10-27 11:18:54 UTC (rev 51677)
@@ -2774,8 +2774,8 @@
 	block = uiLayoutGetBlock(ui_abs);
 	
 	width = BLF_width(style->widget.uifont_id, report->message);
-	width = MIN2(rti->widthfac * width, width);
-	width = MAX2(width, 10);
+	width = min_ii((int)(rti->widthfac * width), width);
+	width = max_ii(width, 10);
 	
 	/* make a box around the report to make it stand out */
 	uiBlockBeginAlign(block);

Modified: trunk/blender/source/blender/editors/interface/interface_widgets.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_widgets.c	2012-10-27 11:12:09 UTC (rev 51676)
+++ trunk/blender/source/blender/editors/interface/interface_widgets.c	2012-10-27 11:18:54 UTC (rev 51677)
@@ -2407,7 +2407,7 @@
 	value = ui_get_but_val(but);
 
 	size = (but->softmax + but->a1 - but->softmin);
-	size = MAX2(size, 2);
+	size = max_ff(size, 2.0f);
 	
 	/* position */
 	rect1 = *rect;
@@ -2445,7 +2445,7 @@
 
 			if (rect1.ymax > rect->ymax) {
 				rect1.ymax = rect->ymax;
-				rect1.ymin = MAX2(rect1.ymax - min, rect->ymin);
+				rect1.ymin = max_ii(rect1.ymax - min, rect->ymin);
 			}
 		}
 	}

Modified: trunk/blender/source/blender/editors/sculpt_paint/sculpt.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/sculpt.c	2012-10-27 11:12:09 UTC (rev 51676)
+++ trunk/blender/source/blender/editors/sculpt_paint/sculpt.c	2012-10-27 11:18:54 UTC (rev 51677)
@@ -4154,7 +4154,7 @@
 	 * isn't one already */
 	if (mmd && !CustomData_has_layer(&me->ldata, CD_GRID_PAINT_MASK)) {
 		GridPaintMask *gmask;
-		int level = MAX2(1, mmd->sculptlvl);
+		int level = max_ii(1, mmd->sculptlvl);
 		int gridsize = ccg_gridsize(level);
 		int gridarea = gridsize * gridsize;
 		int i, j;

Modified: trunk/blender/source/blender/editors/space_action/action_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_action/action_edit.c	2012-10-27 11:12:09 UTC (rev 51676)
+++ trunk/blender/source/blender/editors/space_action/action_edit.c	2012-10-27 11:18:54 UTC (rev 51677)
@@ -254,8 +254,9 @@
 
 				/* find gp-frame which is less than or equal to cframe */
 				for (gpf = gpl->frames.first; gpf; gpf = gpf->next) {
-					*min = MIN2(*min, gpf->framenum);
-					*max = MAX2(*max, gpf->framenum);
+					const float framenum = (float)gpf->framenum;
+					*min = min_ff(*min, framenum);
+					*max = max_ff(*max, framenum);
 				}
 			}
 			else if (ale->datatype == ALE_MASKLAY) {
@@ -267,8 +268,9 @@
 				     masklay_shape;
 				     masklay_shape = masklay_shape->next)
 				{
-					*min = MIN2(*min, masklay_shape->frame);
-					*max = MAX2(*max, masklay_shape->frame);
+					const float framenum = (float)masklay_shape->frame;
+					*min = min_ff(*min, framenum);
+					*max = max_ff(*max, framenum);
 				}
 			}
 			else {
@@ -284,8 +286,8 @@
 				}
 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list