Больше для себя. Список сайтов на которых можно выклянчить деньги на проект (аналоги кикстартера)
http://smipon.ru/
http://rustarter.ru/
http://www.indiegogo.com/
http://smipon.ru/
http://rustarter.ru/
http://www.indiegogo.com/
В блоге я пишу свои заметки о програмировании, разработке игр, и конечно же о разработке своих проектов. Иногда, но редко, пишу про свою жизнь или несвязные мысли
uLLong MoneyItemMgr::Load(uLLong nextid) { _nextid = nextid; uLLong id = 0; #include "MoneyItemDesc.inl" id+=_nextid; return id; }
// медная монета _data[id].SetName("Медная монета"); _data[id].SetCost(1); _data[id].SetRarity(IR_POOR); _data[id].LoadImg("money/copper_coin.png"); id++; // серебряная монета _data[id].SetName("Серебряная монета"); _data[id].SetCost(10); _data[id].SetRarity(IR_UNCOMMON); _data[id].LoadImg("money/silver_coin.png"); id++; // золотая монета _data[id].SetName("Золотая монета"); _data[id].SetCost(100); _data[id].SetRarity(IR_RARE); _data[id].LoadImg("money/gold_coin.png"); id++;
typedef union
{
int i;
float f;
} INT_OR_FLOAT;
int FloatToInt(const float& _value)Я протестировал данный метод вместе с преобразованием в C стиле ( (int)float ) и используя static_cast. Внимание, тестировал в релизе. В дебаге, наша функция работает ужастно (проигрыш почти в 10 раз!!!!), поэтому учитывайте этот момент - выигрыш будет только в релизе (если вы сами настроили релиз в компиляторе, не забудьте протестировать)
{
INT_OR_FLOAT n;
INT_OR_FLOAT bias;
if(_value > 0.0f)
bias.i = (23 + 127) << 23;
else
bias.i = ((23 + 127) << 23) + (1 << 22);
n.f = _value;
n.f += bias.f;
n.i -= bias.i;
return n.i;
}
Тестирование класса FastFloatКак видно, оно и правда работает быстрее. Кстати, заметно что static_cast работает быстрее прямого преобразования (и лично для меня это немного неожиданно)
тестирование преобразования float в int
(int) (1 000 000): time 7 ms
static_cast (1 000 000): time 5 ms
FloatToInt (1 000 000): time 4 ms
Для продолжения нажмите любую клавишу . . .
тестирование преобразования float в int
(int) (1 000 000): time 4 ms
static_cast (1 000 000): time 5 ms
FloatToInt (1 000 000): time 4 ms
Для продолжения нажмите любую клавишу . . .
тестирование преобразования float в int
(int) (1 000 000): time 7 ms
static_cast (1 000 000): time 6 ms
FloatToInt (1 000 000): time 4 ms
Для продолжения нажмите любую клавишу . . .
тестирование преобразования float в int
(int) (1 000 000): time 6 ms
static_cast (1 000 000): time 6 ms
FloatToInt (1 000 000): time 4 ms
Для продолжения нажмите любую клавишу . . .
тестирование преобразования float в int
(int) (1 000 000): time 4 ms
static_cast (1 000 000): time 4 ms
FloatToInt (1 000 000): time 4 ms
Для продолжения нажмите любую клавишу . . .
тестирование преобразования float в int
(int) (1 000 000): time 5 ms
static_cast (1 000 000): time 4 ms
FloatToInt (1 000 000): time 4 ms
Для продолжения нажмите любую клавишу . . .
тестирование преобразования float в int
(int) (1 000 000): time 4 ms
static_cast (1 000 000): time 4 ms
FloatToInt (1 000 000): time 3 ms
Для продолжения нажмите любую клавишу . . .
тестирование преобразования float в int
(int) (1 000 000): time 6 ms
static_cast (1 000 000): time 5 ms
FloatToInt (1 000 000): time 2 ms
Для продолжения нажмите любую клавишу . . .
тестирование преобразования float в intИ вот здесь наша функция ужастна. Также заметно что статик-каст наоборот хуже.
(int) (1 000 000): time 9 ms
static_cast (1 000 000): time 11 ms
FloatToInt (1 000 000): time 97 ms
Для продолжения нажмите любую клавишу . . .
тестирование преобразования float в int
(int) (1 000 000): time 9 ms
static_cast (1 000 000): time 12 ms
FloatToInt (1 000 000): time 56 ms
Для продолжения нажмите любую клавишу . . .