Войти
ПрограммированиеФорумГрафика

Математическая библиотека для физики и графики..и.т.д ! (2 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#15
23:08, 25 янв. 2018

/A\
> Без юнит тестов этой математической библиотекой никто не будет пользоваться
> кроме тебя.
Да , ты прав !


#16
1:01, 26 янв. 2018

Чем D3DX не нравится?

#17
(Правка: 20:26) 8:01, 26 янв. 2018

Хаус
> Чем D3DX не нравится?
Не годится для тензорного анализа , релятявиской физики , и , там нету октионов  которые используют в теории суперструн!
P.S:Видь нынче все занимаються теорией струн , особенно в gamedev'e)!

Может кто посоветует где взять код с инцилизироваными физическими константами ?

#18
12:42, 26 янв. 2018

1. Нет выравниваний.
2. Нет SIMD.
werasaimon
> А что не так ? Всё же правильно !
Очень сильно нет - бранчи и просадки проивзодительности из за неверных предсказаний.
Вообще прочитай классическое "Typical C++ bullshit": https://macton.smugmug.com/Other/2008-07-15-by-Eye-Fi/n-xmKDH/i-BrHWXdJ

#19
14:38, 26 янв. 2018

zlos
> Очень сильно нет - бранчи и просадки проивзодительности из за неверных
> предсказаний.
> Вообще прочитай классическое "Typical C++ bullshit":
> https://macton.smugmug.com/Other/2008-07-15-by-Eye-Fi/n-xmKDH/i-BrHWXdJ

Интересно, а как там производительность на шарпе ? :):):)

#20
(Правка: 15:24) 15:22, 26 янв. 2018

innuendo

На шарпе у людей нет проблем с "так пацаны нам тут нужно продавать приставку, а то чет стоит дохера и выпустили на год позже конкурента, поэтому сделайте ваще бомбу чтобы грофон прям рекой все ох..ели и попадали, да мы знаем что процессор кривым получился. Дада, и про гпу криво в последний момент перед производством прикрутили к этому франкенштейну тоже, вы давайте давайте, а то чет над нашим "гигантским вражеским крабом" до сих пор угорают, да Мыловарней наш продукт обзывают, а мы же им обещали что будет самая мощная консоль мощнее всех суперкомпьютеров мира, и даже пару-тройку ярдов зелени в разработку вложили".

Так вот одна консоль прошлого поколения по причине своего кастрированного ЦПУ и породила целую хайповую идеологию разработки.

#21
20:23, 26 янв. 2018

zlos
> 1. Нет выравниваний.
> 2. Нет SIMD.
> werasaimon
> > А что не так ? Всё же правильно !
> Очень сильно нет - бранчи и просадки проивзодительности из за неверных
> предсказаний.
> Вообще прочитай классическое "Typical C++ bullshit":
> https://macton.smugmug.com/Other/2008-07-15-by-Eye-Fi/n-xmKDH/i-BrHWXdJ
Да я знаю. Надо сделать оптимизацию!
P.S: короче я не знаю почему , но SIMD даёт ничтожно малый процент производительности на  i386 ?

#22
20:28, 26 янв. 2018

werasaimon
> Может кто посоветует где взять код с инцилизироваными физическими константами ?
Как это понять?

Такое подойдет?

#23
20:41, 26 янв. 2018

/A\
> Такое подойдет?
Типа этого . Ну это эталоны! а мне нужно  и константы, например постаяная планка , масса електрона (енергия), гравитационая постояная.  Но и соответственно эталоны под них (единицы измирения):
Дж , Эв, М/с  .и.т.д !

#24
22:04, 26 янв. 2018

werasaimon
А чем википедия и учебники по физике не устраивают?

#25
(Правка: 27 янв. 2018, 19:17) 22:25, 26 янв. 2018

/A\
> А чем википедия и учебники по физике не устраивают?
Устраивают! Просто я надеялся что кто-то  это уже сделал . Но видимо прийдётся самому иницелизироватть все физические константы под конкретный юнит!


Если эсть на форму матиматики, дайте мне пожалуйста совет директоров?

#26
19:51, 1 фев. 2018

werasaimon
> > const T & operator[](int n) const
> > {
> > assert(n >= 0 && n <= 3);
> > if (0 == n)
> > return x;
> > else if (1 == n)
> > return y;
> > else if (2 == n)
> > return z;
> > else
> > return w;
> > }
> > Без комментариев
> А что не так ? Всё же правильно !

const T & operator[](const int& n) const
{
   assert( (unsigned)n < 4 );
   return (&x)[n];
}
#27
20:25, 1 фев. 2018

0xc0de
а если будет так:

struct Vec {
  T x, y, z, w;
};
struct Arr {
  T v[4];
};
// sizeof(Vec) != sizeof(Arr)
то твой код сломается.
#28
(Правка: 21:48) 21:34, 1 фев. 2018

0xc0de
Да ! Так и сделаю !
P.S : только  приставка unsigned для исключения не надо , потому что [-index] лутше вообще запретить такое обращения к элементу, видь с точки зрения математики это не верно  !
Правильней будет так :

const T & operator[](const int& n) const
{
   assert( n >= 0 && n < 4 );
   return (&x)[n];
}


/A\
Это тоже самое что и 0xc0de написал,
только плюс даст менее информативные имена приемных!
PS: зачем делать массив , если есть оператор [] для этого !


P.S: если есть математики которые понимают алгебру Келли , пожалуйста проверьте или всё верно в структуре  октониона ?

#29
22:02, 1 фев. 2018

werasaimon
> Это тоже самое что и 0xc0de написал,
Я не пытался показать лучший код, я говорю что его код может сломаться если у структуры будет задано выравнивание и элементы окажутся не плотно упакованы, тогда по индексу 1 окажется не 'y' а пустое место оставленное для выравнивание, это конечно маловероятный случай, но все же.

Страницы: 1 2 3 4 5 6 7 Следующая »
ПрограммированиеФорумГрафика