code cleanup: double promotion warnings, also allow cmake to build SDL without audaspace.
authorCampbell Barton <ideasman42@gmail.com>
Fri, 9 Nov 2012 16:15:00 +0000 (16:15 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Fri, 9 Nov 2012 16:15:00 +0000 (16:15 +0000)
CMakeLists.txt
source/blender/blenfont/intern/blf_lang.c
source/blender/blenkernel/intern/ocean.c
source/blender/blenkernel/intern/smoke.c
source/blender/blenkernel/intern/writeffmpeg.c
source/blender/imbuf/intern/indexer.c
source/blender/render/intern/source/voxeldata.c
source/gameengine/Expressions/PyObjectPlus.cpp
source/gameengine/GameLogic/SCA_RandomActuator.cpp
source/gameengine/Rasterizer/RAS_TexVert.cpp

index e8119ca..822c77b 100644 (file)
@@ -340,8 +340,8 @@ if(NOT WITH_GAMEENGINE AND WITH_PLAYER)
        message(FATAL_ERROR "WITH_PLAYER requires WITH_GAMEENGINE")
 endif()
 
-if(NOT WITH_AUDASPACE AND (WITH_OPENAL OR WITH_SDL OR WITH_JACK OR WITH_GAMEENGINE))
-       message(FATAL_ERROR "WITH_OPENAL/WITH_SDL/WITH_JACK/WITH_CODEC_FFMPEG/WITH_GAMEENGINE require WITH_AUDASPACE")
+if(NOT WITH_AUDASPACE AND (WITH_OPENAL OR WITH_JACK OR WITH_GAMEENGINE))
+       message(FATAL_ERROR "WITH_OPENAL/WITH_JACK/WITH_CODEC_FFMPEG/WITH_GAMEENGINE require WITH_AUDASPACE")
 endif()
 
 if(NOT WITH_SDL AND WITH_GHOST_SDL)
index 501f8cd..f02d4a2 100644 (file)
@@ -79,9 +79,9 @@ static void free_locales(void)
        if (locales) {
                int idx = num_locales_menu - 1; /* Last item does not need to be freed! */
                while (idx--) {
-                       MEM_freeN((void*)locales_menu[idx].identifier);
-                       MEM_freeN((void*)locales_menu[idx].name);
-                       MEM_freeN((void*)locales_menu[idx].description); /* Also frees locales's relevant value! */
+                       MEM_freeN((void *)locales_menu[idx].identifier);
+                       MEM_freeN((void *)locales_menu[idx].name);
+                       MEM_freeN((void *)locales_menu[idx].description); /* Also frees locales's relevant value! */
                }
 
                idx = num_locales;
index 7bc736d..e694a7e 100644 (file)
@@ -183,7 +183,7 @@ MINLINE float catrom(float p0, float p1, float p2, float p3, float f)
 
 MINLINE float omega(float k, float depth)
 {
-       return sqrt(GRAVITY * k * tanh(k * depth));
+       return sqrtf(GRAVITY * k * tanhf(k * depth));
 }
 
 // modified Phillips spectrum
@@ -256,8 +256,8 @@ static void add_comlex_c(fftw_complex res, fftw_complex cmpl1, fftw_complex cmpl
 
 static void mul_complex_f(fftw_complex res, fftw_complex cmpl, float f)
 {
-       res[0] = cmpl[0] * f;
-       res[1] = cmpl[1] * f;
+       res[0] = cmpl[0] * (double)f;
+       res[1] = cmpl[1] * (double)f;
 }
 
 static void mul_complex_c(fftw_complex res, fftw_complex cmpl1, fftw_complex cmpl2)
@@ -289,8 +289,8 @@ static void exp_complex(fftw_complex res, fftw_complex cmpl)
 {
        float r = expf(cmpl[0]);
 
-       res[0] = cos(cmpl[1]) * r;
-       res[1] = sin(cmpl[1]) * r;
+       res[0] = cosf(cmpl[1]) * r;
+       res[1] = sinf(cmpl[1]) * r;
 }
 
 float BKE_ocean_jminus_to_foam(float jminus, float coverage)
@@ -462,7 +462,7 @@ void BKE_ocean_eval_ij(struct Ocean *oc, struct OceanResult *ocr, int i, int j)
        i = abs(i) % oc->_M;
        j = abs(j) % oc->_N;
 
-       ocr->disp[1] = oc->_do_disp_y ? oc->_disp_y[i * oc->_N + j] : 0.0f;
+       ocr->disp[1] = oc->_do_disp_y ? (float)oc->_disp_y[i * oc->_N + j] : 0.0f;
 
        if (oc->_do_chop) {
                ocr->disp[0] = oc->_disp_x[i * oc->_N + j];
@@ -546,7 +546,7 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount
                                                mul_complex_f(mul_param, mul_param, chop_amount);
                                                mul_complex_c(mul_param, mul_param, minus_i);
                                                mul_complex_c(mul_param, mul_param, o->_htilda[i * (1 + o->_N / 2) + j]);
-                                               mul_complex_f(mul_param, mul_param, (o->_k[i * (1 + o->_N / 2) + j] == 0.0 ? 0.0 : o->_kx[i] / o->_k[i * (1 + o->_N / 2) + j]));
+                                               mul_complex_f(mul_param, mul_param, (o->_k[i * (1 + o->_N / 2) + j] == 0.0f ? 0.0f : o->_kx[i] / o->_k[i * (1 + o->_N / 2) + j]));
                                                init_complex(o->_fft_in_x[i * (1 + o->_N / 2) + j], real_c(mul_param), image_c(mul_param));
                                        }
                                }
@@ -568,7 +568,7 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount
                                                mul_complex_f(mul_param, mul_param, chop_amount);
                                                mul_complex_c(mul_param, mul_param, minus_i);
                                                mul_complex_c(mul_param, mul_param, o->_htilda[i * (1 + o->_N / 2) + j]);
-                                               mul_complex_f(mul_param, mul_param, (o->_k[i * (1 + o->_N / 2) + j] == 0.0 ? 0.0 : o->_kz[j] / o->_k[i * (1 + o->_N / 2) + j]));
+                                               mul_complex_f(mul_param, mul_param, (o->_k[i * (1 + o->_N / 2) + j] == 0.0f ? 0.0f : o->_kz[j] / o->_k[i * (1 + o->_N / 2) + j]));
                                                init_complex(o->_fft_in_z[i * (1 + o->_N / 2) + j], real_c(mul_param), image_c(mul_param));
                                        }
                                }
@@ -589,7 +589,7 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount
 
                                                mul_complex_f(mul_param, mul_param, chop_amount);
                                                mul_complex_c(mul_param, mul_param, o->_htilda[i * (1 + o->_N / 2) + j]);
-                                               mul_complex_f(mul_param, mul_param, (o->_k[i * (1 + o->_N / 2) + j] == 0.0 ? 0.0 : o->_kx[i] * o->_kx[i] / o->_k[i * (1 + o->_N / 2) + j]));
+                                               mul_complex_f(mul_param, mul_param, (o->_k[i * (1 + o->_N / 2) + j] == 0.0f ? 0.0f : o->_kx[i] * o->_kx[i] / o->_k[i * (1 + o->_N / 2) + j]));
                                                init_complex(o->_fft_in_jxx[i * (1 + o->_N / 2) + j], real_c(mul_param), image_c(mul_param));
                                        }
                                }
@@ -616,7 +616,7 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount
 
                                                mul_complex_f(mul_param, mul_param, chop_amount);
                                                mul_complex_c(mul_param, mul_param, o->_htilda[i * (1 + o->_N / 2) + j]);
-                                               mul_complex_f(mul_param, mul_param, (o->_k[i * (1 + o->_N / 2) + j] == 0.0 ? 0.0 : o->_kz[j] * o->_kz[j] / o->_k[i * (1 + o->_N / 2) + j]));
+                                               mul_complex_f(mul_param, mul_param, (o->_k[i * (1 + o->_N / 2) + j] == 0.0f ? 0.0f : o->_kz[j] * o->_kz[j] / o->_k[i * (1 + o->_N / 2) + j]));
                                                init_complex(o->_fft_in_jzz[i * (1 + o->_N / 2) + j], real_c(mul_param), image_c(mul_param));
                                        }
                                }
index f9925a4..d96bece 100644 (file)
@@ -262,21 +262,21 @@ static void smoke_set_domain_from_derivedmesh(SmokeDomainSettings *sds, Object *
                scale = res / size[0];
                sds->scale = size[0] / ob->size[0];
                sds->base_res[0] = res;
-               sds->base_res[1] = (int)(size[1] * scale + 0.5);
-               sds->base_res[2] = (int)(size[2] * scale + 0.5);
+               sds->base_res[1] = (int)(size[1] * scale + 0.5f);
+               sds->base_res[2] = (int)(size[2] * scale + 0.5f);
        }
        else if (size[1] > MAX2(size[0], size[2])) {
                scale = res / size[1];
                sds->scale = size[1] / ob->size[1];
-               sds->base_res[0] = (int)(size[0] * scale + 0.5);
+               sds->base_res[0] = (int)(size[0] * scale + 0.5f);
                sds->base_res[1] = res;
-               sds->base_res[2] = (int)(size[2] * scale + 0.5);
+               sds->base_res[2] = (int)(size[2] * scale + 0.5f);
        }
        else {
                scale = res / size[2];
                sds->scale = size[2] / ob->size[2];
-               sds->base_res[0] = (int)(size[0] * scale + 0.5);
-               sds->base_res[1] = (int)(size[1] * scale + 0.5);
+               sds->base_res[0] = (int)(size[0] * scale + 0.5f);
+               sds->base_res[1] = (int)(size[1] * scale + 0.5f);
                sds->base_res[2] = res;
        }
 
@@ -1581,7 +1581,7 @@ BLI_INLINE void apply_inflow_fields(SmokeFlowSettings *sfs, float emission_value
        if (fuel && fuel[index]) {
                /* instead of using 1.0 for all new fuel add slight falloff
                 * to reduce flow blockiness */
-               float value = 1.0f - pow(1.0f - emission_value, 2.0f);
+               float value = 1.0f - powf(1.0f - emission_value, 2.0f);
 
                if (value > react[index]) {
                        float f = fuel_flow / fuel[index];
@@ -1944,9 +1944,9 @@ static void update_effectors(Scene *scene, Object *ob, SmokeDomainSettings *sds,
                                        mul_v3_fl(retvel, mag);
 
                                        // TODO dg - do in force!
-                                       force_x[index] = MIN2(MAX2(-1.0, retvel[0] * 0.2), 1.0);
-                                       force_y[index] = MIN2(MAX2(-1.0, retvel[1] * 0.2), 1.0);
-                                       force_z[index] = MIN2(MAX2(-1.0, retvel[2] * 0.2), 1.0);
+                                       force_x[index] = min_ff(max_ff(-1.0f, retvel[0] * 0.2f), 1.0f);
+                                       force_y[index] = min_ff(max_ff(-1.0f, retvel[1] * 0.2f), 1.0f);
+                                       force_z[index] = min_ff(max_ff(-1.0f, retvel[2] * 0.2f), 1.0f);
                                }
                }
        }
@@ -1999,7 +1999,7 @@ static void step(Scene *scene, Object *ob, SmokeModifierData *smd, DerivedMesh *
        /* adapt timestep for different framerates, dt = 0.1 is at 25fps */
        dt = DT_DEFAULT * (25.0f / fps);
        // maximum timestep/"CFL" constraint: dt < 5.0 *dx / maxVel
-       maxVel = (sds->dx * 5.0);
+       maxVel = (sds->dx * 5.0f);
 
 #if 0
        for (i = 0; i < size; i++) {
@@ -2009,7 +2009,7 @@ static void step(Scene *scene, Object *ob, SmokeModifierData *smd, DerivedMesh *
        }
 #endif
 
-       maxVelMag = sqrt(maxVelMag) * dt * sds->time_scale;
+       maxVelMag = sqrtf(maxVelMag) * dt * sds->time_scale;
        totalSubsteps = (int)((maxVelMag / maxVel) + 1.0f); /* always round up */
        totalSubsteps = (totalSubsteps < 1) ? 1 : totalSubsteps;
        totalSubsteps = (totalSubsteps > maxSubSteps) ? maxSubSteps : totalSubsteps;
@@ -2286,7 +2286,7 @@ static float calc_voxel_transp(float *result, float *input, int res[3], int *pix
        const size_t index = smoke_get_index(pixel[0], res[0], pixel[1], res[1], pixel[2]);
 
        // T_ray *= T_vox
-       *tRay *= exp(input[index] * correct);
+       *tRay *= expf(input[index] * correct);
 
        if (result[index] < 0.0f)
        {
@@ -2386,7 +2386,7 @@ static void smoke_calc_transparency(SmokeDomainSettings *sds, Scene *scene)
        float light[3];
        int a, z, slabsize = sds->res[0] * sds->res[1], size = sds->res[0] * sds->res[1] * sds->res[2];
        float *density = smoke_get_density(sds->fluid);
-       float correct = -7.0 * sds->dx;
+       float correct = -7.0f * sds->dx;
 
        if (!get_lamp(scene, light)) return;
 
index 3a8a142..da9c919 100644 (file)
@@ -478,9 +478,7 @@ static AVStream *alloc_video_stream(RenderData *rd, int codec_id, AVFormatContex
                c->time_base.den = 2997;
                c->time_base.num = 100;
        }
-       else if ((double) ((int) rd->frs_sec_base) ==
-                rd->frs_sec_base)
-       {
+       else if ((float) ((int) rd->frs_sec_base) == rd->frs_sec_base) {
                c->time_base.den = rd->frs_sec;
                c->time_base.num = (int) rd->frs_sec_base;
        }
@@ -999,7 +997,7 @@ int BKE_ffmpeg_append(RenderData *rd, int start_frame, int frame, int *pixels, i
        }
 
 #ifdef WITH_AUDASPACE
-       write_audio_frames((frame - rd->sfra) / (((double)rd->frs_sec) / rd->frs_sec_base));
+       write_audio_frames((frame - rd->sfra) / (((double)rd->frs_sec) / (double)rd->frs_sec_base));
 #endif
        return success;
 }
index 5dda33d..38bd284 100644 (file)
@@ -872,7 +872,7 @@ static void index_rebuild_ffmpeg_proc_decoded_frame(
 
        context->frameno = floor((pts - context->start_pts) *
                                 context->pts_time_base  *
-                                context->frame_rate + 0.5f);
+                                context->frame_rate + 0.5);
 
        /* decoding starts *always* on I-Frames,
         * so: P-Frames won't work, even if all the
index b486407..42849a0 100644 (file)
@@ -265,7 +265,7 @@ static void init_frame_smoke(VoxelData *vd, float cfra)
 
                                /* map velocities between 0 and 0.3f */
                                for (i = 0; i < totRes; i++) {
-                                       vd->dataset[i] = sqrt(xvel[i] * xvel[i] + yvel[i] * yvel[i] + zvel[i] * zvel[i]) * 3.0f;
+                                       vd->dataset[i] = sqrtf(xvel[i] * xvel[i] + yvel[i] * yvel[i] + zvel[i] * zvel[i]) * 3.0f;
                                }
 
                        }
index bb1d0a3..03f9fb5 100644 (file)
@@ -486,8 +486,8 @@ PyObject *PyObjectPlus::py_get_attrdef(PyObject *self_py, const PyAttributeDef *
 
 static bool py_check_attr_float(float *var, PyObject *value, const PyAttributeDef *attrdef)
 {
-       double val = PyFloat_AsDouble(value);
-       if (val == -1.0 && PyErr_Occurred())
+       float val = PyFloat_AsDouble(value);
+       if (val == -1.0f && PyErr_Occurred())
        {
                PyErr_Format(PyExc_TypeError, "expected float value for attribute \"%s\"", attrdef->m_name);
                return false;
@@ -664,13 +664,13 @@ int PyObjectPlus::py_set_attrdef(PyObject *self_py, PyObject *value, const PyAtt
                                {
                                        float *var = reinterpret_cast<float*>(ptr);
                                        ptr += sizeof(float);
-                                       double val = PyFloat_AsDouble(item);
-                                       if (val == -1.0 && PyErr_Occurred())
+                                       float val = PyFloat_AsDouble(item);
+                                       if (val == -1.0f && PyErr_Occurred())
                                        {
                                                PyErr_Format(PyExc_TypeError, "expected a float for attribute \"%s\"", attrdef->m_name);
                                                goto UNDO_AND_ERROR;
                                        }
-                                       else if (attrdef->m_clamp) 
+                                       else if (attrdef->m_clamp)
                                        {
                                                if (val < attrdef->m_fmin)
                                                        val = attrdef->m_fmin;
@@ -985,10 +985,10 @@ int PyObjectPlus::py_set_attrdef(PyObject *self_py, PyObject *value, const PyAtt
                                for (int i=0; i<3; i++)
                                {
                                        item = PySequence_GetItem(value, i); /* new ref */
-                                       double val = PyFloat_AsDouble(item);
+                                       float val = PyFloat_AsDouble(item);
                                        Py_DECREF(item);
                                        item = NULL;
-                                       if (val == -1.0 && PyErr_Occurred())
+                                       if (val == -1.0f && PyErr_Occurred())
                                        {
                                                PyErr_Format(PyExc_TypeError, "expected a sequence of 3 floats for attribute \"%s\"", attrdef->m_name);
                                                goto RESTORE_AND_ERROR;
index 2d51a45..01995b1 100644 (file)
@@ -220,11 +220,11 @@ bool SCA_RandomActuator::Update()
                         * this will be quite sufficient here.
                         */
                        do {
-                               x = 2.0 * m_base->DrawFloat() - 1.0;
-                               y = 2.0 * m_base->DrawFloat() - 1.0;
-                               s = x*x + y*y;
-                       } while ( (s >= 1.0) || (s == 0.0) );
-                       t = x * sqrt(-2.0 * log(s)) / s);
+                               x = 2.0f * m_base->DrawFloat() - 1.0f;
+                               y = 2.0f * m_base->DrawFloat() - 1.0f;
+                               s = x * x + y * y;
+                       } while ((s >= 1.0f) || (s == 0.0f));
+                       t = x * sqrtf((-2.0 * log(s)) / s);
                        tmpval = new CFloatValue(m_parameter1 + m_parameter2 * t);
                }
        }
index b60fae7..3b4f4ca 100644 (file)
@@ -63,10 +63,10 @@ const MT_Point3& RAS_TexVert::xyz()
 void RAS_TexVert::SetRGBA(const MT_Vector4& rgba)
 {
        unsigned char *colp = (unsigned char*) &m_rgba;
-       colp[0] = (unsigned char) (rgba[0]*255.0f);
-       colp[1] = (unsigned char) (rgba[1]*255.0f);
-       colp[2] = (unsigned char) (rgba[2]*255.0f);
-       colp[3] = (unsigned char) (rgba[3]*255.0f);
+       colp[0] = (unsigned char) (rgba[0] * 255.0);
+       colp[1] = (unsigned char) (rgba[1] * 255.0);
+       colp[2] = (unsigned char) (rgba[2] * 255.0);
+       colp[3] = (unsigned char) (rgba[3] * 255.0);
 }