aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Blot <loic.blot@unix-experience.fr>2018-04-04 07:42:40 +0200
committerLoic Blot <loic.blot@unix-experience.fr>2018-04-04 07:42:40 +0200
commit8e0b80aa369df7d1142053f077df928106c6ce8c (patch)
tree7f12869eef1a18364be9d8db67e01d060bc11d60
parenta90d27e1e23fa1c369c05a4d9c6083aa86ef7f52 (diff)
downloadminetest-8e0b80aa369df7d1142053f077df928106c6ce8c.tar.gz
minetest-8e0b80aa369df7d1142053f077df928106c6ce8c.tar.bz2
minetest-8e0b80aa369df7d1142053f077df928106c6ce8c.zip
Fix last performance-type-promotion-in-math-fn problems
-rw-r--r--src/camera.cpp4
-rw-r--r--src/chat.cpp6
-rw-r--r--src/chat.h6
-rw-r--r--src/client.cpp15
-rw-r--r--src/content_cao.cpp26
-rw-r--r--src/content_cao.h2
-rw-r--r--src/fontengine.cpp7
-rw-r--r--src/game.cpp6
-rw-r--r--src/particles.cpp4
-rw-r--r--src/sky.cpp23
-rw-r--r--src/util/numeric.cpp2
11 files changed, 59 insertions, 42 deletions
diff --git a/src/camera.cpp b/src/camera.cpp
index cf96f3308..ebb154137 100644
--- a/src/camera.cpp
+++ b/src/camera.cpp
@@ -291,7 +291,7 @@ void Camera::update(LocalPlayer* player, f32 frametime, f32 busytime, f32 tool_r
{
f32 oldy = old_player_position.Y;
f32 newy = player_position.Y;
- f32 t = exp(-23*frametime);
+ f32 t = std::exp(-23 * frametime);
player_position.Y = oldy * t + newy * (1-t);
}
@@ -481,7 +481,7 @@ void Camera::update(LocalPlayer* player, f32 frametime, f32 busytime, f32 tool_r
if(m_digging_anim > 0.5)
frac = 2.0 * (m_digging_anim - 0.5);
// This value starts from 1 and settles to 0
- f32 ratiothing = pow((1.0f - tool_reload_ratio), 0.5f);
+ f32 ratiothing = std::pow((1.0f - tool_reload_ratio), 0.5f);
//f32 ratiothing2 = pow(ratiothing, 0.5f);
f32 ratiothing2 = (easeCurve(ratiothing*0.5))*2.0;
wield_position.Y -= frac * 25.0 * pow(ratiothing2, 1.7f);
diff --git a/src/chat.cpp b/src/chat.cpp
index cc0980230..c3ed59804 100644
--- a/src/chat.cpp
+++ b/src/chat.cpp
@@ -402,7 +402,7 @@ void ChatPrompt::input(const std::wstring &str)
m_nick_completion_end = 0;
}
-void ChatPrompt::addToHistory(std::wstring line)
+void ChatPrompt::addToHistory(const std::wstring &line)
{
if (!line.empty() &&
(m_history.size() == 0 || m_history.back() != line)) {
@@ -426,7 +426,7 @@ void ChatPrompt::clear()
m_nick_completion_end = 0;
}
-std::wstring ChatPrompt::replace(std::wstring line)
+std::wstring ChatPrompt::replace(const std::wstring &line)
{
std::wstring old_line = m_line;
m_line = line;
@@ -660,7 +660,7 @@ ChatBackend::ChatBackend():
{
}
-void ChatBackend::addMessage(std::wstring name, std::wstring text)
+void ChatBackend::addMessage(const std::wstring &name, std::wstring text)
{
// Note: A message may consist of multiple lines, for example the MOTD.
text = translate_string(text);
diff --git a/src/chat.h b/src/chat.h
index 8649704d1..f84ece206 100644
--- a/src/chat.h
+++ b/src/chat.h
@@ -153,7 +153,7 @@ public:
void input(const std::wstring &str);
// Add a string to the history
- void addToHistory(std::wstring line);
+ void addToHistory(const std::wstring &line);
// Get current line
std::wstring getLine() const { return m_line; }
@@ -165,7 +165,7 @@ public:
void clear();
// Replace the current line with the given text
- std::wstring replace(std::wstring line);
+ std::wstring replace(const std::wstring &line);
// Select previous command from history
void historyPrev();
@@ -256,7 +256,7 @@ public:
~ChatBackend() = default;
// Add chat message
- void addMessage(std::wstring name, std::wstring text);
+ void addMessage(const std::wstring &name, std::wstring text);
// Parse and add unparsed chat message
void addUnparsedMessage(std::wstring line);
diff --git a/src/client.cpp b/src/client.cpp
index 5356ef151..87e5e12bc 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -523,21 +523,18 @@ void Client::step(float dtime)
the local inventory (so the player notices the lag problem
and knows something is wrong).
*/
- if(m_inventory_from_server)
- {
- float interval = 10.0;
- float count_before = floor(m_inventory_from_server_age / interval);
+ if (m_inventory_from_server) {
+ float interval = 10.0f;
+ float count_before = std::floor(m_inventory_from_server_age / interval);
m_inventory_from_server_age += dtime;
- float count_after = floor(m_inventory_from_server_age / interval);
+ float count_after = std::floor(m_inventory_from_server_age / interval);
- if(count_after != count_before)
- {
+ if (count_after != count_before) {
// Do this every <interval> seconds after TOCLIENT_INVENTORY
// Reset the locally changed inventory to the authoritative inventory
- LocalPlayer *player = m_env.getLocalPlayer();
- player->inventory = *m_inventory_from_server;
+ m_env.getLocalPlayer()->inventory = *m_inventory_from_server;
m_inventory_updated = true;
}
}
diff --git a/src/content_cao.cpp b/src/content_cao.cpp
index 92b0ddfbd..81443c824 100644
--- a/src/content_cao.cpp
+++ b/src/content_cao.cpp
@@ -45,6 +45,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "client.h"
#include "wieldmesh.h"
#include <algorithm>
+#include <cmath>
#include "client/renderingengine.h"
class Settings;
@@ -947,25 +948,23 @@ void GenericCAO::updateTexturePos()
int row = m_tx_basepos.Y;
int col = m_tx_basepos.X;
- if(m_tx_select_horiz_by_yawpitch)
- {
- if(cam_to_entity.Y > 0.75)
+ if (m_tx_select_horiz_by_yawpitch) {
+ if (cam_to_entity.Y > 0.75)
col += 5;
- else if(cam_to_entity.Y < -0.75)
+ else if (cam_to_entity.Y < -0.75)
col += 4;
- else{
+ else {
float mob_dir =
atan2(cam_to_entity.Z, cam_to_entity.X) / M_PI * 180.;
float dir = mob_dir - m_yaw;
dir = wrapDegrees_180(dir);
- //infostream<<"id="<<m_id<<" dir="<<dir<<std::endl;
- if(fabs(wrapDegrees_180(dir - 0)) <= 45.1)
+ if (std::fabs(wrapDegrees_180(dir - 0)) <= 45.1f)
col += 2;
- else if(fabs(wrapDegrees_180(dir - 90)) <= 45.1)
+ else if(std::fabs(wrapDegrees_180(dir - 90)) <= 45.1f)
col += 3;
- else if(fabs(wrapDegrees_180(dir - 180)) <= 45.1)
+ else if(std::fabs(wrapDegrees_180(dir - 180)) <= 45.1f)
col += 0;
- else if(fabs(wrapDegrees_180(dir + 90)) <= 45.1)
+ else if(std::fabs(wrapDegrees_180(dir + 90)) <= 45.1f)
col += 1;
else
col += 4;
@@ -977,12 +976,11 @@ void GenericCAO::updateTexturePos()
float txs = m_tx_size.X;
float tys = m_tx_size.Y;
- setBillboardTextureMatrix(m_spritenode,
- txs, tys, col, row);
+ setBillboardTextureMatrix(m_spritenode, txs, tys, col, row);
}
}
-void GenericCAO::updateTextures(std::string mod)
+void GenericCAO::updateTextures(const std::string &mod)
{
ITextureSource *tsrc = m_client->tsrc();
@@ -1292,7 +1290,7 @@ void GenericCAO::processMessage(const std::string &data)
m_position = readV3F1000(is);
m_velocity = readV3F1000(is);
m_acceleration = readV3F1000(is);
- if(fabs(m_prop.automatic_rotate) < 0.001)
+ if (std::fabs(m_prop.automatic_rotate) < 0.001f)
m_yaw = readF1000(is);
else
readF1000(is);
diff --git a/src/content_cao.h b/src/content_cao.h
index 7e946efb7..a93df664a 100644
--- a/src/content_cao.h
+++ b/src/content_cao.h
@@ -199,7 +199,7 @@ public:
// std::string copy is mandatory as mod can be a class member and there is a swap
// on those class members
- void updateTextures(std::string mod);
+ void updateTextures(const std::string &mod);
void updateAnimation();
diff --git a/src/fontengine.cpp b/src/fontengine.cpp
index b40e1ef0f..dc98fb1e4 100644
--- a/src/fontengine.cpp
+++ b/src/fontengine.cpp
@@ -18,6 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
*/
#include "fontengine.h"
+#include <cmath>
#include "client/renderingengine.h"
#include "config.h"
#include "porting.h"
@@ -309,10 +310,10 @@ void FontEngine::initFont(unsigned int basesize, FontMode mode)
}
#if USE_FREETYPE
else {
- if (! is_yes(m_settings->get("freetype"))) {
+ if (!is_yes(m_settings->get("freetype"))) {
return;
}
- unsigned int size = floor(RenderingEngine::getDisplayDensity() *
+ u32 size = std::floor(RenderingEngine::getDisplayDensity() *
m_settings->getFloat("gui_scaling") * basesize);
u32 font_shadow = 0;
u32 font_shadow_alpha = 0;
@@ -428,7 +429,7 @@ void FontEngine::initSimpleFont(unsigned int basesize, FontMode mode)
if (basesize == FONT_SIZE_UNSPECIFIED)
basesize = DEFAULT_FONT_SIZE;
- unsigned int size = floor(
+ u32 size = std::floor(
RenderingEngine::getDisplayDensity() *
m_settings->getFloat("gui_scaling") *
basesize);
diff --git a/src/game.cpp b/src/game.cpp
index 9a7f4e6d7..3d11ddbaa 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -3131,9 +3131,9 @@ PointedThing Game::updatePointedThing(
// Modify final color a bit with time
u32 timer = porting::getTimeMs() % 5000;
float timerf = (float) (irr::core::PI * ((timer / 2500.0) - 0.5));
- float sin_r = 0.08 * sin(timerf);
- float sin_g = 0.08 * sin(timerf + irr::core::PI * 0.5);
- float sin_b = 0.08 * sin(timerf + irr::core::PI);
+ float sin_r = 0.08f * std::sin(timerf);
+ float sin_g = 0.08f * std::sin(timerf + irr::core::PI * 0.5f);
+ float sin_b = 0.08f * std::sin(timerf + irr::core::PI);
c.setRed(core::clamp(core::round32(c.getRed() * (0.8 + sin_r)), 0, 255));
c.setGreen(core::clamp(core::round32(c.getGreen() * (0.8 + sin_g)), 0, 255));
c.setBlue(core::clamp(core::round32(c.getBlue() * (0.8 + sin_b)), 0, 255));
diff --git a/src/particles.cpp b/src/particles.cpp
index 0a6651ce4..e98068f53 100644
--- a/src/particles.cpp
+++ b/src/particles.cpp
@@ -18,6 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
*/
#include "particles.h"
+#include <cmath>
#include "client.h"
#include "collision.h"
#include "client/clientevent.h"
@@ -227,7 +228,8 @@ void Particle::updateVertices()
for (video::S3DVertex &vertex : m_vertices) {
if (m_vertical) {
v3f ppos = m_player->getPosition()/BS;
- vertex.Pos.rotateXZBy(atan2(ppos.Z-m_pos.Z, ppos.X-m_pos.X)/core::DEGTORAD+90);
+ vertex.Pos.rotateXZBy(std::atan2(ppos.Z - m_pos.Z, ppos.X - m_pos.X) /
+ core::DEGTORAD + 90);
} else {
vertex.Pos.rotateYZBy(m_player->getPitch());
vertex.Pos.rotateXZBy(m_player->getYaw());
diff --git a/src/sky.cpp b/src/sky.cpp
index 02e882592..03afc4464 100644
--- a/src/sky.cpp
+++ b/src/sky.cpp
@@ -1,3 +1,22 @@
+/*
+Minetest
+Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 2.1 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+*/
+
#include "sky.h"
#include "IVideoDriver.h"
#include "ISceneManager.h"
@@ -243,7 +262,7 @@ void Sky::render()
{
float mid1 = 0.25;
float mid = wicked_time_of_day < 0.5 ? mid1 : (1.0 - mid1);
- float a_ = 1.0 - fabs(wicked_time_of_day - mid) * 35.0;
+ float a_ = 1.0f - std::fabs(wicked_time_of_day - mid) * 35.0f;
float a = easeCurve(MYMAX(0, MYMIN(1, a_)));
//std::cerr<<"a_="<<a_<<" a="<<a<<std::endl;
video::SColor c(255, 255, 255, 255);
@@ -539,7 +558,7 @@ void Sky::update(float time_of_day, float time_brightness,
float cloud_color_change_fraction = 0.95;
if (sunlight_seen) {
- if (fabs(time_brightness - m_brightness) < 0.2) {
+ if (std::fabs(time_brightness - m_brightness) < 0.2f) {
m_brightness = m_brightness * 0.95 + time_brightness * 0.05;
} else {
m_brightness = m_brightness * 0.80 + time_brightness * 0.20;
diff --git a/src/util/numeric.cpp b/src/util/numeric.cpp
index f533c275f..ddd4fd6cc 100644
--- a/src/util/numeric.cpp
+++ b/src/util/numeric.cpp
@@ -173,6 +173,6 @@ s16 adjustDist(s16 dist, float zoom_fov)
// new_dist = dist * ((1 - cos(FOV / 2)) / (1-cos(zoomFOV /2))) ^ (1/3)
// note: FOV is calculated at compilation time
- return round(dist * std::cbrt((1.0f - std::cos(default_fov)) /
+ return std::round(dist * std::cbrt((1.0f - std::cos(default_fov)) /
(1.0f - std::cos(zoom_fov / 2.0f))));
}