WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  глюки в complex.h и замедление счета

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   глюки в complex.h и замедление счета
Picassio опубликован 25-07-2001 14:35 MSK   Click Here to See the Profile for Picassio   Click Here to Email Picassio  
Нелло ту олл!!

Снова задаю свой вопрос - какого черта в
borland C++ 3.1 глючат комплексные числа.

Ситуация следующая:
например

complex a=(1.3,1.4),b=(2.3,5.6),c

c:=a*b; //все в порядке;
a:=a+b; //все в порядке
b:=b+a; //вылетаем отовсюду, откуда можно, "программа допустила" и т.д.

borland C++ 5.01 скажет, что я типа полез на запрещенный адрес. При пошаговой трансляции выясняется(и в 3.1, и в 5.01) что падаем мы где-то в complex.h при выходе из процедуры умножения.

В принципе может повезти, тогда при вводе нескольких дополнительных комплексных переменных все заработает, но сколько их потребуется в определенном случае - один бог знает. ПОМОГИТЕ!!!!!!!!!!!

Но это еще не все -
в другой программе запускаем много раз одну функцию - интегрируем по комплексной переменной(@#!!$#@!$).

После нескольких сотен вызовов в пределах одного запуска программы строка вида

while (real(in_nu)>1.0) {i1++; in_nu=in_nu-1.0;}

начинает выполняться около секунды,
real(in_nu)~230.0

Переход к замедленной работе очень резкий - можно указать конкретное значение переменной.
За шаг до этого строка выполнялась мгновенно.
В чем дело???????? у меня celeron 366, для него это плевое дело, но секунда на 1000 сложений и 0.1 секунды на 999 сложений - это странно.

Помогите, если можете.

Kosha опубликован 25-07-2001 22:34 MSK     Click Here to See the Profile for Kosha  Click Here to Email Kosha     
Два слова и смайлик -
Багланд Билдер ;-(((((

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.