X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futility.cpp;h=7ffbe716066cf467df04d392687494a1e3845313;hb=013921782b1a8506f4aee1d1be0312002eddd575;hp=8befaaeec1cf5c3af39eb32e30ace46531dd7bba;hpb=de3fdba568cf0b05e8fe0ec7fb11552416474093;p=oweals%2Fminetest.git diff --git a/src/utility.cpp b/src/utility.cpp index 8befaaeec..7ffbe7160 100644 --- a/src/utility.cpp +++ b/src/utility.cpp @@ -22,8 +22,10 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include "utility.h" -#include "irrlichtwrapper.h" #include "gettime.h" +#include "sha1.h" +#include "base64.h" +#include "log.h" TimeTaker::TimeTaker(const char *name, u32 *result) { @@ -46,7 +48,7 @@ u32 TimeTaker::stop(bool quiet) else { if(quiet == false) - std::cout< near_list; - - for(core::list::Iterator - i = m_points.begin(); - i != m_points.end(); i++) + if(max-min > MYRAND_MAX) { - PointWithAttr &pwa = *i; - u32 d = pwa.p.getDistanceFrom(p); - - DFloat df; - df.v = pwa.attr.getFloat(); - df.d = d; - - // If near list is empty, add directly and continue - if(near_list.size() == 0) - { - near_list.push_back(df); - continue; - } - - // Get distance of farthest in near list - u32 near_d = 100000; - if(near_list.size() > 0) - { - core::list::Iterator i = near_list.begin(); - near_d = i->d; - } - - /* - If point is closer than the farthest in the near list or - there are not yet enough points on the list - */ - if(d < near_d || near_list.size() < near_wanted_count) - { - // Find the right place in the near list and put it there - - // Go from farthest to near in the near list - core::list::Iterator i = near_list.begin(); - for(; i != near_list.end(); i++) - { - // Stop when i is at the first nearer node - if(i->d < d) - break; - } - // Add df to before i - if(i == near_list.end()) - near_list.push_back(df); - else - near_list.insert_before(i, df); - - // Keep near list at right size - if(near_list.size() > near_wanted_count) - { - core::list::Iterator j = near_list.begin(); - near_list.erase(j); - } - } + errorstream<<"WARNING: myrand_range: max-min > MYRAND_MAX"< joka pisteelle a += arvo / etäisyys^6; b += 1 / etäisyys^6; ja -lopuks sit otetaan a/b - */ - - float a = 0; - float b = 0; - for(core::list::Iterator i = near_list.begin(); - i != near_list.end(); i++) + if(min > max) { - if(i->d == 0) - return i->v; - - //float dd = pow((float)i->d, 6); - float dd = pow((float)i->d, 5); - float v = i->v; - //dstream<<"dd="<d="<d<<" nearest_d_sum="<