[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