На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
Страницы: (77) « Первая ... 75 76 [77]   ( Перейти к последнему сообщению )  
> Текущий Стандарт С++ и перспективы его развития
    Цитата Славян @
    Есть ли хоть какой-то шанс (хоть 1%-й), что введут в стандарт тип complex? Для комплексных чисел.

    std::complex уже давно в стандарте.
      Имелось ввиду принятие его в язык Си, а не Си++.
        Цитата Славян @
        Имелось ввиду принятие его в язык Си, а не Си++.

        Тогда Complex number arithmetic из C99
          Цитата phprus @
          Что-то почитываю, и что-то не нравятся эти намёки вида:
          1. Файл corecrt_math.h
          ExpandedWrap disabled
                    struct _complex
                    {
                        double x, y; // real and imaginary parts
                    };
             
                    #if _CRT_INTERNAL_NONSTDC_NAMES && !defined __cplusplus
                        // Non-ANSI name for compatibility
                        #define complex _complex
                    #endif
          2. Файл complex.h
          ExpandedWrap disabled
            #ifndef _C_COMPLEX_T
                #define _C_COMPLEX_T
                typedef struct _C_double_complex
                {
                    double _Val[2];
                } _C_double_complex;
             
                typedef struct _C_float_complex
                {
                    float _Val[2];
                } _C_float_complex;
             
                typedef struct _C_ldouble_complex
                {
                    long double _Val[2];
                } _C_ldouble_complex;
            #endif
             
            typedef _C_double_complex  _Dcomplex;
            typedef _C_float_complex   _Fcomplex;
            typedef _C_ldouble_complex _Lcomplex;
             
             
             
            //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            //
            // Macros
            //
            //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            #define _DCOMPLEX_(re, im)  _Cbuild(re, im)
            #define _FCOMPLEX_(re, im)  _FCbuild(re, im)
            #define _LCOMPLEX_(re, im)  _LCbuild(re, im)
             
            #define _Complex_I _FCbuild(0.0F, 1.0F)
            #define I          _Complex_I
          Такое ощущение, что Си-шники очередной раз всякими макросами и пр. пытаются обмануть систему. <_<

          Стандарт, - это когда можно будет написать такой код:
          ExpandedWrap disabled
            complex kvadrat( complex z) { return z*z; }
            // далее - что угодно
            #include <math.h>
            #include <complex.h>
            int main()
            {
              complex z=5;
              return abs(kvadrat(z)); // ну или cabs, или ещё нечто такое
            }


          Добавлено
          Пардон, так:
          ExpandedWrap disabled
            return (int)abs(kvadrat(z)); // ну или cabs, или ещё нечто такое
            Ну, сочувствую. Это C, тут это нормально. В язык complex не введут, для встроек это крайне нерентабельно. А вот в библиотеки ввести можно, т.к. соответствующий заголовок для freestanding можно объявить необязательным. Собственно так и сделали.
            Не подходит, тогда тебе в Плюсы или в Фортран.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:
            Страницы: (77) « Первая ... 75 76 [77] 


            Рейтинг@Mail.ru
            [ Script execution time: 0,1332 ]   [ 16 queries used ]   [ Generated: 4.02.23, 22:38 GMT ]