Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Ilya Anfimov                         2:5020/400     23 Mar 2005  22:23:32
 To : U.P.Galyuck
 Subject : Re: Need GUI development tool (Kylix or something)
 -------------------------------------------------------------------------------- 
 
 2005-03-23, U.P.Galyuck <galyuck@paloma.spbu.ru> пишет:
 
 >> >>  В GNU C комплексная арифметика есть.
 >> >
 >> >     Расскажи, пожалуйста, в какой версии С-компилятора комплексная
 >> > арифметика присутствует, какие ключевые слова при этом используются, и
 > по
 >> > какому стандарту это реализовано. Без этих пояснений отвечать на
 > остальные
 >>
 >>  man 5 complex, далее по ссылкам, включая C99.
 >>  Или info libc /complex (откуда я впервые про это узнал).
 >>  Тогда, когда я этим пользовался, был, кажется, gcc 2.7.2.1
 >>  Впрочем, это я мог и запамятовать, и там уже был 2.9x, x < 5.
 >
 >     Спасибо, я, действительно, обнаружил у себя (gcc 3.2.2) эту так сказать
 > комплексную арифметику. Hет, не зря я не знал о ее существовании. Это
 
  Пожалста.
 
 [skipped]
 
 > требуются по алгоритму, получается 4 умножения и два сложения. Еще хуже
 > ситуация, когда программируется выражение вида a*b*z, где a, b - типа float,
 > а z - complex. Сначала вычисляется b*z, и т.к. они разных типов, происходит
 > приведение вещественного b к комплексому типу с перемножением общего вида,
 > после чего уже переменная a приводится к комплексному типу и снова
 > перемножаются комплексные операнды. Итого - вместо 3-х умножений было
 > потрачено 12 умножений и 4 сложения, не считая затраты на приведения
 > (пересылки), которые в современных процессорах занимают такое же время, как
 > и арифметические операции. Замечу, что усли записать выражение в виде z*b*a,
 > т.е. вещественные операнды после комплексного, то оно делается за 5
 > умножений и 4 сложения, что тоже далеко от идеального с 3-мя умножениями.
 > Оптимизация (-О3) никак не изменила количества операций. Все это происходит
 > потому, что компилятор ничего не знает о свойствах этого типа данных
 > (коммутативности и ассоциативности) и не может так переставить операции,
 > чтобы сначала делалась вещественная арифметика, а потом комплексная, да еще
 > учитывалась перегруженность операций с разными сочетаниями типов.
 > В Фортране, для которого комплексный тип является встроенным, это делается
 > достаточно просто. В С, и как я подозреваю в С++ , это либо не делается
 > вообще (главное, чтобы формально поддерживался этот тип данных), либо очень
 
  Для  начала,  в  C этот тип также является встроенным. Поскольку
 перегрузки операторов в C нет, и на макросах они  (операторы)  не
 делаются.
 
  Вот  только  я  что-то  совсем не понял, к чему Вы написали этот
 пассаж? При чём тут качество ко-дегенератора из коллекции  GNU  и
 выбор  Fortran  vs  other  world?  То  есть  Вы что думаете, если
 замените C Compiler на Fortran  Compiler,  то  всё  станет  сразу
 хорошо?  Фигушки-заюшки.  В  GNU Compiler Collection для фортрана
 точно тот же самый генератор кода. Более того,  GNU  Fortran  всё
 ещё основан на f2c, потому узких мест там будет ещё больше.
 
  Специально для проф. спорщиков: не надо мне тут рассказывать про
 другие  компиляторы  фортрана.  Другие  компиляторы  для  C  тоже
 имеются, тот же Intel C на IA32 считается существенно оптимальнее
 гнутого.
 
  По  поводу  конкретного   примера   умножения   комплексного   и
 действительного:  это почему-то посчитали рискованным. Включается
 опцией -ffast-math.
  Ещё я бы пожалуй  посоветовал  что-нибудь  вроде  -mcpu=pentium4
 -march=pentium4 -msse2 -mfpmath=sse .
 
 > трудно реализовать. Поэтому научные программы еще долго будут
 > разрабатываться на специально для этого приспособленном языке - Фортран, а
 > все логические умозаключения, основанные на собственном понимании проблемы,
 > и  "принципе Оккама", оказываются опровергнутыми элементарными тестами (все,
 > что я описал, я выяснил, вычитывая ассемблерный листинг результатов
 > компиляции).
 
  Да-дад. Скажите мне, какой результат вам нужен, и я скажу, какой
 тест  выбрать.  Вообще,  мне   бы   очень   хотелось,   чтобы   в
 предъявляемых  в  качестве  опровержения элементарных тестах было
 меньше логических  и  фактических  ошибок.  Hапример,  совершенно
 непонятно,   что  же  вы  на  результат  тестирования  такого  же
 фортрановского кода не посмотрели хотя бы.
 --- ifmail v.2.15dev5.3
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   17 Mar 2005 12:42:08 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   17 Mar 2005 15:17:55 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   17 Mar 2005 17:34:40 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   17 Mar 2005 18:06:09 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   17 Mar 2005 18:50:49 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   17 Mar 2005 20:20:34 
 Re: Need GUI development tool (Kylix or something)   Aleksey Barabanov   17 Mar 2005 20:59:34 
 Re: Need GUI development tool (Kylix or something)   Victor Wagner   18 Mar 2005 09:22:40 
 Re: Need GUI development tool (Kylix or something)   Kirill Kuvaldin   18 Mar 2005 11:52:02 
 Re: Need GUI development tool (Kylix or something)   Victor Wagner   18 Mar 2005 14:06:08 
 Need GUI development tool (Kylix or something)   Sergey Klimov   20 Mar 2005 21:03:10 
 Re: Need GUI development tool (Kylix or something)   Eugeny Chernetcki   21 Mar 2005 13:27:23 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   18 Mar 2005 13:52:25 
 Re: Need GUI development tool (Kylix or something)   Victor Wagner   18 Mar 2005 14:08:11 
 Need GUI development tool (Kylix or something)   Sergey Klimov   20 Mar 2005 21:14:46 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   22 Mar 2005 18:57:46 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   18 Mar 2005 13:52:25 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   22 Mar 2005 19:29:51 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   22 Mar 2005 21:12:50 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   22 Mar 2005 23:05:53 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   23 Mar 2005 20:07:40 
 Re: Need GUI development tool (Kylix or something)   Eugene B. Berdnikov   23 Mar 2005 22:08:22 
 Re: Need GUI development tool (Kylix or something)   Victor Wagner   24 Mar 2005 12:35:55 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   24 Mar 2005 17:10:09 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   24 Mar 2005 18:46:03 
 Re: Need GUI development tool (Kylix or something)   Alex Kislica   24 Mar 2005 17:16:55 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   23 Mar 2005 22:23:32 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   24 Mar 2005 17:10:09 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   24 Mar 2005 17:50:30 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   24 Mar 2005 19:43:21 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   25 Mar 2005 01:21:01 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   25 Mar 2005 17:56:18 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   25 Mar 2005 23:05:22 
 Re: Need GUI development tool (Kylix or something)   Dmitry Ponyatov   23 Mar 2005 19:59:42 
 Need GUI development tool (Kylix or something)   Vitaly Mayatskih   18 Mar 2005 00:03:26 
Архивное /ru.linux/19170ee3bc4ac.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional