AMX MOD X
Четверг, 08.01.2026, 19:02:41



Приветствую Вас Гость | RSS
[ Главная ] [ как округлить число ? - Страница 2 - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: slogic, AlMod  
как округлить число ?
DaTaДата: Воскресенье, 14.09.2008, 12:49:23 | Сообщение # 16
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Quote (se7h)
навязывать свой стиль - дурной тон, поосторожнее на поворотах ;)

в этой теме вообще стиль не упоминался... а быдлокодерство - это когда делаешь через ж***, оно работает, но не оптимизировано. В принципе с нативами работать будет, но можно и быстрее в 4-5 раз сделать чисто целочислительной арифметикой и условным переходом :)
 
se7hДата: Воскресенье, 14.09.2008, 14:43:13 | Сообщение # 17
Генерал-майор
Группа: Cупер-модеры
Сообщений: 424
Репутация: 13
Статус: Не в сети
Не вижу смысла продолжать эту бессмысленную дискуссию Но всё-таки я бы тебе пожелал немного терпимости и не идеализировать всё так ревностно ;-)

Пс: знаю что не удержишься и что-нибудь посоветуешь/напишешь в ответ B-)


 
DaTaДата: Воскресенье, 14.09.2008, 15:54:14 | Сообщение # 18
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Code
#include <amxmodx>

#define TIMES 100000000

public plugin_init()
{
  register_plugin("speed test","0","DaTa")
  register_concmd("go","res")
}

public res(id)
{
  static a, i, iTics_cycle, iTics_VEN, iTics_se7h
   
  iTics_cycle = tickcount()
  for(i = 0; i < TIMES; i++) {}
  iTics_cycle = tickcount() - iTics_cycle
   
  iTics_se7h = tickcount()
  for(i = 0; i < TIMES; i++)
   a = floatround(a/10.0)*10
  iTics_se7h = tickcount() - iTics_se7h - iTics_cycle
   
  iTics_VEN = tickcount()
  for(i = 0; i < TIMES; i++)
   if (a - (a = a / 10 * 10) >= 5)
    a += 10  
  iTics_VEN = tickcount() - iTics_VEN - iTics_cycle
   
  console_print(id, "cycle %d; VEN %d; se7h %d;^nWinner is %s (x%.3f times faster)!", iTics_cycle, iTics_VEN, iTics_se7h, iTics_VEN < iTics_se7h ? "VEN" : "se7h", iTics_VEN < iTics_se7h ? float(iTics_se7h)/float(iTics_VEN) : float(iTics_VEN)/float(iTics_se7h))
   
  return PLUGIN_HANDLED
}

Quote
go
cycle 219; VEN 3296; se7h 8672;
Winner is VEN (x2.631 times faster)!
go
cycle 219; VEN 3296; se7h 8734;
Winner is VEN (x2.649 times faster)!
go
cycle 219; VEN 3312; se7h 8703;
Winner is VEN (x2.627 times faster)!
go
cycle 219; VEN 3328; se7h 8703;
Winner is VEN (x2.615 times faster)!
 
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

AMX Mod X Russian Community © 2006-2026