X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=ETL%2Ftrunk%2FETL%2F_misc.h;h=502179b99c6e1bcc2c58a4486c2e4b6859672b6b;hb=20a38826ee92a217ecbe472a90797788b58e0a9f;hp=20905839e8be99288a6f59ece8f498fd38ca998c;hpb=b3016b249333ac0ab0008d8c6c4d9029b2ff30c9;p=synfig.git diff --git a/ETL/trunk/ETL/_misc.h b/ETL/trunk/ETL/_misc.h index 2090583..502179b 100644 --- a/ETL/trunk/ETL/_misc.h +++ b/ETL/trunk/ETL/_misc.h @@ -1,7 +1,7 @@ /*! ======================================================================== ** Extended Template and Library ** Misc -** $Id: _misc.h,v 1.1.1.1 2005/01/04 01:31:47 darco Exp $ +** $Id$ ** ** Copyright (c) 2002 Robert B. Quattlebaum Jr. ** @@ -42,28 +42,28 @@ binary_find(I begin, I end, const T& value) { #if 1 I iter(begin+(end-begin)/2); - + while(end-begin>1 && !(*iter==value)) { ((*iter1 && !(*iter==value)) { ((*iter(x+0.5f); } +inline int round_to_int(const float x) { + /*! \fixme Isn't there some x86 FPU instruction for quickly + ** converting a float to a rounded integer? It's worth + ** looking into at some point... */ + return static_cast(x+0.5f); +} inline int round_to_int(const double x) { return static_cast(x+0.5); } inline int ceil_to_int(const float x) { return static_cast(ceil(x)); } inline int ceil_to_int(const double x) { return static_cast(ceil(x)); } -inline int floor_to_int(const float x) { return static_cast(floor(x)); } -inline int floor_to_int(const double x) { return static_cast(floor(x)); } +inline int floor_to_int(const float x) { return static_cast(x); } +inline int floor_to_int(const double x) { return static_cast(x); } _ETL_END_NAMESPACE