BLI_utildefine minor edits
authorCampbell Barton <ideasman42@gmail.com>
Sat, 22 Oct 2011 03:39:13 +0000 (03:39 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Sat, 22 Oct 2011 03:39:13 +0000 (03:39 +0000)
- removed AVG2, was only used once.
- remove unused LONGCOPY define.
- removed BLI_STRUCT_OFFSET, was only used once, replce with offsetof
- formatting edits, split some macros over multiple lines.

source/blender/blenkernel/intern/subsurf_ccg.c
source/blender/blenlib/BLI_blenlib.h
source/blender/blenlib/BLI_utildefines.h
source/blender/nodes/composite/nodes/node_composite_directionalblur.c

index 3d3806f7c022acabd86b0f7d01dbeedaae4dee65..0d9f27e4fa96ac58a4fc2ad131431a8d92ada88e 100644 (file)
@@ -141,7 +141,7 @@ static CCGSubSurf *_getSubSurf(CCGSubSurf *prevSS, int subdivLevels, int useAgin
                ccgSubSurf_setUseAgeCounts(ccgSS, 1, 8, 8, 8);
        }
 
-       ccgSubSurf_setCalcVertexNormals(ccgSS, 1, BLI_STRUCT_OFFSET(DMGridData, no));
+       ccgSubSurf_setCalcVertexNormals(ccgSS, 1, offsetof(DMGridData, no));
 
        return ccgSS;
 }
index 4eb4b71da12548e22a0c07ba82f74982202ce574..a5c0e03c09e8438dcf4407c493eb79c733fc46d0 100644 (file)
@@ -84,13 +84,6 @@ extern "C" {
 
 #include "BLI_noise.h"
 
-/**
- * @param strct The structure of interest
- * @param member The name of a member field of @a strct
- * @retval The offset in bytes of @a member within @a strct
- */
-#define BLI_STRUCT_OFFSET(strct, member)       ((int)(intptr_t) &((strct*) 0)->member)
-
 #ifdef __cplusplus
 }
 #endif
index b2b3e7381c6eb4f26c4f3dcd6731dc7af9bac11d..c1eed40de74064dcefe7f61f2bf359d1820e68a5 100644 (file)
 #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; (max)[0]= (max)[1]= (max)[2]= -1.0e30f; }
-
-#define INIT_MINMAX2(min, max) { (min)[0]= (min)[1]= 1.0e30f; (max)[0]= (max)[1]= -1.0e30f; }
-
-#define DO_MIN(vec, min) { if( (min)[0]>(vec)[0] ) (min)[0]= (vec)[0];      \
-                                                         if( (min)[1]>(vec)[1] ) (min)[1]= (vec)[1];   \
-                                                         if( (min)[2]>(vec)[2] ) (min)[2]= (vec)[2]; } \
-
-#define DO_MAX(vec, max) { if( (max)[0]<(vec)[0] ) (max)[0]= (vec)[0];         \
-                                                         if( (max)[1]<(vec)[1] ) (max)[1]= (vec)[1];   \
-                                                         if( (max)[2]<(vec)[2] ) (max)[2]= (vec)[2]; } \
-
-#define DO_MINMAX(vec, min, max) { if( (min)[0]>(vec)[0] ) (min)[0]= (vec)[0]; \
-                                                         if( (min)[1]>(vec)[1] ) (min)[1]= (vec)[1]; \
-                                                         if( (min)[2]>(vec)[2] ) (min)[2]= (vec)[2]; \
-                                                         if( (max)[0]<(vec)[0] ) (max)[0]= (vec)[0]; \
-                                                         if( (max)[1]<(vec)[1] ) (max)[1]= (vec)[1]; \
-                                                         if( (max)[2]<(vec)[2] ) (max)[2]= (vec)[2]; } \
-
-#define DO_MINMAX2(vec, min, max) { if( (min)[0]>(vec)[0] ) (min)[0]= (vec)[0]; \
-                                                         if( (min)[1]>(vec)[1] ) (min)[1]= (vec)[1]; \
-                                                         if( (max)[0]<(vec)[0] ) (max)[0]= (vec)[0]; \
-                                                         if( (max)[1]<(vec)[1] ) (max)[1]= (vec)[1]; }
+#define INIT_MINMAX(min, max) {                                               \
+               (min)[0]= (min)[1]= (min)[2]= 1.0e30f;                                \
+               (max)[0]= (max)[1]= (max)[2]= -1.0e30f;                               \
+       }
+#define INIT_MINMAX2(min, max) {                                              \
+               (min)[0]= (min)[1]= 1.0e30f;                                          \
+               (max)[0]= (max)[1]= -1.0e30f;                                         \
+       }
+#define DO_MIN(vec, min) {                                                    \
+               if( (min)[0]>(vec)[0] ) (min)[0]= (vec)[0];                           \
+               if( (min)[1]>(vec)[1] ) (min)[1]= (vec)[1];                           \
+               if( (min)[2]>(vec)[2] ) (min)[2]= (vec)[2];                           \
+       }
+#define DO_MAX(vec, max) {                                                    \
+               if( (max)[0]<(vec)[0] ) (max)[0]= (vec)[0];                           \
+               if( (max)[1]<(vec)[1] ) (max)[1]= (vec)[1];                           \
+               if( (max)[2]<(vec)[2] ) (max)[2]= (vec)[2];                           \
+       }
+#define DO_MINMAX(vec, min, max) {                                            \
+               if( (min)[0]>(vec)[0] ) (min)[0]= (vec)[0];                           \
+               if( (min)[1]>(vec)[1] ) (min)[1]= (vec)[1];                           \
+               if( (min)[2]>(vec)[2] ) (min)[2]= (vec)[2];                           \
+               if( (max)[0]<(vec)[0] ) (max)[0]= (vec)[0];                           \
+               if( (max)[1]<(vec)[1] ) (max)[1]= (vec)[1];                           \
+               if( (max)[2]<(vec)[2] ) (max)[2]= (vec)[2];                           \
+       }
+#define DO_MINMAX2(vec, min, max) {                                           \
+               if( (min)[0]>(vec)[0] ) (min)[0]= (vec)[0];                           \
+               if( (min)[1]>(vec)[1] ) (min)[1]= (vec)[1];                           \
+               if( (max)[0]<(vec)[0] ) (max)[0]= (vec)[0];                           \
+               if( (max)[1]<(vec)[1] ) (max)[1]= (vec)[1];                           \
+       }
 
 /* some math and copy defines */
 
 #ifndef SWAP
-#  define SWAP(type, a, b)        { type sw_ap; sw_ap=(a); (a)=(b); (b)=sw_ap; }
+#  define SWAP(type, a, b)       { type sw_ap; sw_ap=(a); (a)=(b); (b)=sw_ap; }
 #endif
 
-#define ABS(a)                                 ( (a)<0 ? (-(a)) : (a) )
-
-#define AVG2(x, y)             ( 0.5 * ((x) + (y)) )
+#define ABS(a)          ( (a)<0 ? (-(a)) : (a) )
 
 #define FTOCHAR(val) ((val)<=0.0f)? 0 : (((val)>(1.0f-0.5f/255.0f))? 255 : (char)((255.0f*(val))+0.5f))
 #define FTOUSHORT(val) ((val >= 1.0f-0.5f/65535)? 65535: (val <= 0.0f)? 0: (unsigned short)(val*65535.0f + 0.5f))
-#define F3TOCHAR3(v2,v1) (v1)[0]=FTOCHAR((v2[0])); (v1)[1]=FTOCHAR((v2[1])); (v1)[2]=FTOCHAR((v2[2]))
-#define F3TOCHAR4(v2,v1) { (v1)[0]=FTOCHAR((v2[0])); (v1)[1]=FTOCHAR((v2[1])); (v1)[2]=FTOCHAR((v2[2])); \
-                                               (v1)[3] = 255; }
-#define F4TOCHAR4(v2,v1) { (v1)[0]=FTOCHAR((v2[0])); (v1)[1]=FTOCHAR((v2[1])); (v1)[2]=FTOCHAR((v2[2])); \
-                                               (v1)[3]=FTOCHAR((v2[3])); }
-
-
-#define VECCOPY(v1,v2)          {*(v1)= *(v2); *(v1+1)= *(v2+1); *(v1+2)= *(v2+2);}
-#define VECCOPY2D(v1,v2)          {*(v1)= *(v2); *(v1+1)= *(v2+1);}
-#define QUATCOPY(v1,v2)         {*(v1)= *(v2); *(v1+1)= *(v2+1); *(v1+2)= *(v2+2); *(v1+3)= *(v2+3);}
-#define LONGCOPY(a, b, c)      {int lcpc=c, *lcpa=(int *)a, *lcpb=(int *)b; while(lcpc-->0) *(lcpa++)= *(lcpb++);}
-
-
-#define VECADD(v1,v2,v3)       {*(v1)= *(v2) + *(v3); *(v1+1)= *(v2+1) + *(v3+1); *(v1+2)= *(v2+2) + *(v3+2);}
-#define VECSUB(v1,v2,v3)       {*(v1)= *(v2) - *(v3); *(v1+1)= *(v2+1) - *(v3+1); *(v1+2)= *(v2+2) - *(v3+2);}
-#define VECSUB2D(v1,v2,v3)     {*(v1)= *(v2) - *(v3); *(v1+1)= *(v2+1) - *(v3+1);}
-#define VECADDFAC(v1,v2,v3,fac) {*(v1)= *(v2) + *(v3)*(fac); *(v1+1)= *(v2+1) + *(v3+1)*(fac); *(v1+2)= *(v2+2) + *(v3+2)*(fac);}
-#define VECSUBFAC(v1,v2,v3,fac) {*(v1)= *(v2) - *(v3)*(fac); *(v1+1)= *(v2+1) - *(v3+1)*(fac); *(v1+2)= *(v2+2) - *(v3+2)*(fac);}
-#define QUATADDFAC(v1,v2,v3,fac) {*(v1)= *(v2) + *(v3)*(fac); *(v1+1)= *(v2+1) + *(v3+1)*(fac); *(v1+2)= *(v2+2) + *(v3+2)*(fac); *(v1+3)= *(v2+3) + *(v3+3)*(fac);}
-
-#define INPR(v1, v2)           ( (v1)[0]*(v2)[0] + (v1)[1]*(v2)[1] + (v1)[2]*(v2)[2] )
+#define F3TOCHAR3(v2, v1) {                                                   \
+               (v1)[0]= FTOCHAR((v2[0]));                                            \
+               (v1)[1]= FTOCHAR((v2[1]));                                            \
+               (v1)[2]= FTOCHAR((v2[2]));                                            \
+       }
+#define F3TOCHAR4(v2, v1) {                                                   \
+               (v1)[0]= FTOCHAR((v2[0]));                                            \
+               (v1)[1]= FTOCHAR((v2[1]));                                            \
+               (v1)[2]= FTOCHAR((v2[2]));                                            \
+               (v1)[3]= 255;                                                         \
+       }
+#define F4TOCHAR4(v2, v1) {                                                   \
+               (v1)[0]= FTOCHAR((v2[0]));                                            \
+               (v1)[1]= FTOCHAR((v2[1]));                                            \
+               (v1)[2]= FTOCHAR((v2[2]));                                            \
+               (v1)[3]= FTOCHAR((v2[3]));                                            \
+       }
+#define VECCOPY(v1, v2) {                                                     \
+               *(v1)=   *(v2);                                                       \
+               *(v1+1)= *(v2+1);                                                     \
+               *(v1+2)= *(v2+2);                                                     \
+       }
+#define VECCOPY2D(v1, v2) {                                                   \
+               *(v1)=   *(v2);                                                       \
+               *(v1+1)= *(v2+1);                                                     \
+       }
+#define QUATCOPY(v1, v2) {                                                    \
+               *(v1)=   *(v2);                                                       \
+               *(v1+1)= *(v2+1);                                                     \
+               *(v1+2)= *(v2+2);                                                     \
+               *(v1+3)= *(v2+3);                                                     \
+       }
+#define VECADD(v1,v2,v3) {                                                    \
+               *(v1)=   *(v2)   + *(v3);                                             \
+               *(v1+1)= *(v2+1) + *(v3+1);                                           \
+               *(v1+2)= *(v2+2) + *(v3+2);                                           \
+       }
+#define VECSUB(v1,v2,v3) {                                                    \
+               *(v1)=   *(v2)   - *(v3);                                             \
+               *(v1+1)= *(v2+1) - *(v3+1);                                           \
+               *(v1+2)= *(v2+2) - *(v3+2);                                           \
+       }
+#define VECSUB2D(v1,v2,v3)     {                                              \
+               *(v1)=   *(v2)   - *(v3);                                             \
+               *(v1+1)= *(v2+1) - *(v3+1);                                           \
+       }
+#define VECADDFAC(v1,v2,v3,fac) {                                             \
+               *(v1)=   *(v2)   + *(v3)*(fac);                                       \
+               *(v1+1)= *(v2+1) + *(v3+1)*(fac);                                     \
+               *(v1+2)= *(v2+2) + *(v3+2)*(fac);                                     \
+       }
+#define VECSUBFAC(v1,v2,v3,fac) {                                             \
+               *(v1)=   *(v2)   - *(v3)*(fac);                                       \
+               *(v1+1)= *(v2+1) - *(v3+1)*(fac);                                     \
+               *(v1+2)= *(v2+2) - *(v3+2)*(fac);                                     \
+       }
+#define QUATADDFAC(v1,v2,v3,fac) {                                            \
+               *(v1)=   *(v2)   + *(v3)*(fac);                                       \
+               *(v1+1)= *(v2+1) + *(v3+1)*(fac);                                     \
+               *(v1+2)= *(v2+2) + *(v3+2)*(fac);                                     \
+               *(v1+3)= *(v2+3) + *(v3+3)*(fac);                                     \
+       }
+
+#define INPR(v1, v2) ( (v1)[0]*(v2)[0] + (v1)[1]*(v2)[1] + (v1)[2]*(v2)[2] )
 
 /* some misc stuff.... */
 #define CLAMP(a, b, c)         if((a)<(b)) (a)=(b); else if((a)>(c)) (a)=(c)
 #define IN_RANGE_INCL(a, b, c) ((b < c)? ((b<=a && a<=c)? 1:0) : ((c<=a && a<=b)? 1:0))
 
 /* array helpers */
-#define ARRAY_LAST_ITEM(arr_start, arr_dtype, elem_size, tot)          (arr_dtype *)((char*)arr_start + (elem_size*(tot - 1)))
-#define ARRAY_HAS_ITEM(item, arr_start, arr_dtype, elem_size, tot)     ((item >= arr_start) && (item <= ARRAY_LAST_ITEM(arr_start, arr_dtype, elem_size, tot)))
+#define ARRAY_LAST_ITEM(arr_start, arr_dtype, elem_size, tot)                 \
+               (arr_dtype *)((char*)arr_start + (elem_size*(tot - 1)))
+
+#define ARRAY_HAS_ITEM(item, arr_start, arr_dtype, elem_size, tot) (          \
+               (item >= arr_start) &&                                                \
+               (item <= ARRAY_LAST_ITEM(arr_start, arr_dtype, elem_size, tot))       \
+       )
 
 /* This one rotates the bytes in an int64, int (32) and short (16) */
-#define SWITCH_INT64(a) { \
-       char s_i, *p_i; \
-       p_i= (char *)&(a); \
-       s_i=p_i[0]; p_i[0]=p_i[7]; p_i[7]=s_i; \
-       s_i=p_i[1]; p_i[1]=p_i[6]; p_i[6]=s_i; \
-       s_i=p_i[2]; p_i[2]=p_i[5]; p_i[5]=s_i; \
-       s_i=p_i[3]; p_i[3]=p_i[4]; p_i[4]=s_i; }
-
-               #define SWITCH_INT(a) { \
-       char s_i, *p_i; \
-       p_i= (char *)&(a); \
-       s_i=p_i[0]; p_i[0]=p_i[3]; p_i[3]=s_i; \
-       s_i=p_i[1]; p_i[1]=p_i[2]; p_i[2]=s_i; }
-
-#define SWITCH_SHORT(a)        { \
-       char s_i, *p_i; \
-       p_i= (char *)&(a); \
-       s_i=p_i[0]; p_i[0]=p_i[1]; p_i[1]=s_i; }
+#define SWITCH_INT64(a) {                                                     \
+               char s_i, *p_i;                                                       \
+               p_i= (char *)&(a);                                                    \
+               s_i= p_i[0]; p_i[0]= p_i[7]; p_i[7]= s_i;                             \
+               s_i= p_i[1]; p_i[1]= p_i[6]; p_i[6]= s_i;                             \
+               s_i= p_i[2]; p_i[2]= p_i[5]; p_i[5]= s_i;                             \
+               s_i= p_i[3]; p_i[3]= p_i[4]; p_i[4]= s_i;                             \
+       }
+
+#define SWITCH_INT(a) {                                                       \
+               char s_i, *p_i;                                                       \
+               p_i= (char *)&(a);                                                    \
+               s_i= p_i[0]; p_i[0]= p_i[3]; p_i[3]= s_i;                             \
+               s_i= p_i[1]; p_i[1]= p_i[2]; p_i[2]= s_i;                             \
+       }
+
+#define SWITCH_SHORT(a) {                                                     \
+               char s_i, *p_i;                                                       \
+               p_i= (char *)&(a);                                                    \
+               s_i=p_i[0]; p_i[0]=p_i[1]; p_i[1]=s_i;                                \
+       }
 
 
 /* Warning-free macros for storing ints in pointers. Use these _only_
 #  else
 #    define _dummy_abort() (void)0
 #  endif
-#  if defined(__GNUC__) || defined(_MSC_VER) /* just want to check if __func__ is available */
-#    define BLI_assert(a) \
-do { \
-       if (!(a)) { \
-               fprintf(stderr, \
-                       "BLI_assert failed: %s, %s(), %d at \'%s\'\n", \
-                       __FILE__, __func__, __LINE__, STRINGIFY(a)); \
-               _dummy_abort(); \
-       } \
+#  if defined(__GNUC__) || defined(_MSC_VER) /* check __func__ is available */
+#    define BLI_assert(a)                                                     \
+do {                                                                          \
+       if (!(a)) {                                                               \
+               fprintf(stderr,                                                       \
+                       "BLI_assert failed: %s, %s(), %d at \'%s\'\n",                    \
+                       __FILE__, __func__, __LINE__, STRINGIFY(a));                      \
+               _dummy_abort();                                                       \
+       }                                                                         \
 } while (0)
 #  else
 #    define BLI_assert(a) \
-do { \
-       if (0 == (a)) { \
-               fprintf(stderr, \
-                       "BLI_assert failed: %s, %d at \'%s\'\n", \
-                       __FILE__, __LINE__, STRINGIFY(a)); \
-               _dummy_abort(); \
-       } \
+do {                                                                          \
+       if (0 == (a)) {                                                           \
+               fprintf(stderr,                                                       \
+                       "BLI_assert failed: %s, %d at \'%s\'\n",                          \
+                       __FILE__, __LINE__, STRINGIFY(a));                                \
+               _dummy_abort();                                                       \
+       }                                                                         \
 } while (0)
 #  endif
 #else
index 1a5e3150f53f393cbc9fd5c98cedebe738ca46b8..34815fcb24c0ac5e73bf56b9df1fbc6d7d8cd7dd 100644 (file)
@@ -86,8 +86,9 @@ static CompBuf *dblur(bNode *node, CompBuf *img, int iterations, int wrap,
                                        getpix(tmp, cs * u + ss * v + center_x_pix, cs * v - ss * u + center_y_pix, col);
 
                                        /* mix img and transformed tmp */
-                                       for(j= 0; j < 4; ++j)
-                                               img->rect[p + j]= AVG2(img->rect[p + j], col[j]);
+                                       for(j= 0; j < 4; ++j) {
+                                               img->rect[p + j]= 0.5f * (img->rect[p + j] + col[j]);
+                                       }
                                }
                        }