1. C++ / Говнокод #19579

    −3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    if (c & Expression::RefValue) {
          scontext += "|RefValue";
        }
        if (c & Expression::RefParameter) {
          scontext += "|RefParameter";
        }
        if (c & Expression::DeepReference) {
          scontext += "|DeepReference";
        }
        if (c & Expression::ObjectContext) {
          scontext += "|ObjectContext";
        }
        if (c & Expression::InParameterExpression) {
          scontext += "|InParameterExpression";
        }
        if (c & Expression::ExistContext) {
          scontext += "|ExistContext";
        }
        if (c & Expression::UnsetContext) {
          scontext += "|UnsetContext";
        }
        if (c & Expression::AssignmentLHS) {
          scontext += "|AssignmentLHS";
        }
        if (c & Expression::RefAssignmentLHS) {
          scontext += "|RefAssignmentLHS";
        }
        if (c & Expression::DeepAssignmentLHS) {
          scontext += "|DeepAssignmentLHS";
        }
        if (c & Expression::AssignmentRHS) {
          scontext += "|AssignmentRHS";
        }
        if (c & Expression::InvokeArgument) {
          scontext += "|InvokeArgument";
        }
        if (c & Expression::OprLValue) {
          scontext += "|OprLValue";
        }
        if (c & Expression::DeepOprLValue) {
          scontext += "|DeepOprLValue";
        }
        if (c & Expression::AccessContext) {
          scontext += "|AccessContext";
        }
        if (c & Expression::ReturnContext) {
          scontext += "|ReturnContext";
        }

    Нашел тут:
    https://github.com/facebook/hhvm/blob/master/hphp/compiler/construct.cpp#L226

    kschingiz, 05 Марта 2016

    Комментарии (35)
  2. C++ / Говнокод #19558

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    #if !defined LOG_PRINT_FNAME && !defined LOG_PRINT_LVL && \
        !defined LOG_PRINT_DATE  && !defined LOG_PRINT_TIME && \
        !defined LOG_TIME_FMT   &&  !defined LOG_DATETIME_SEP && \
        !defined LOG_PRINT_TIMER && !defined LOG_VERB
    #warning No logging options specified, default config will be used
    #endif
     
    // Initialize unitialized values
    #ifndef LOG_PRINT_FNAME
        #define LOG_PRINT_FNAME true
    #endif
    #ifndef LOG_PRINT_LVL
        #define LOG_PRINT_LVL false
    #endif
    #ifndef LOG_PRINT_DATE
        #define LOG_PRINT_DATE false
    #endif
    #ifndef LOG_PRINT_TIME
        #define LOG_PRINT_TIME false
    #endif
    #ifndef LOG_DATE_FMT
        #define LOG_DATE_FMT "%D"
    #endif
    #ifndef LOG_TIME_FMT
        #define LOG_TIME_FMT "%T"
    #endif
    #ifndef LOG_DATETIME_SEP
        #define LOG_DATETIME_SEP ""
    #endif
    #ifndef LOG_PRINT_TIMER
        #define LOG_PRINT_TIMER true
    #endif
    #ifndef LOG_VERB
        #define LOG_VERB 1
    #endif
     
     
    #if LOG_PRINT_TIMER == true && (LOG_PRINT_DATE == true || LOG_PRINT_TIME == true)
    #warning Printing timer and datetime both is not possible, datetime will be discarded
    #define LOG_PRINT_DATE false
    #define LOG_PRINT_TIME false
    #endif
     
    enum LogLevel_t {
        INFO     = 3,
        WARNING  = 2,
        ERROR    = 0,
        TRACE    = 7
    };
     
    #define TIMER
    #define DATE
    #define TIME
    #define SEPARATOR
    #define FNAME
    #define LVL(lvl)
     
    #define STREAM(lvl) \
        ((lvl) == TRACE || (lvl) == ERROR) ? std::cerr : std::cout
     
    #if LOG_PRINT_TIMER == true
    #define TIMER << "[" << std::fixed << Log::getTimer() << "] "
    #endif
     
    #if LOG_PRINT_DATE == true
    #define DATE << Log::getTimeFmt(LOG_DATE_FMT) << " "
    #endif
     
    #if LOG_PRINT_TIME == true
    #define TIME << Log::getTimeFmt(LOG_TIME_FMT) << " "
    #endif
     
    #if LOG_PRINT_DATE == true && LOG_PRINT_TIME == true
    #define SEPARATOR << LOG_DATETIME_SEP
    #endif
     
    #if LOG_PRINT_FNAME == true
    #define FNAME << __FUNCTION__ << ": "
    #endif
     
    #if LOG_PRINT_LVL == true
    #define LVL(lvl) << #lvl << ": "
    #endif
     
    #define LOG(lvl) \
        std::cout.precision(5); \
        STREAM(lvl) TIMER DATE SEPARATOR TIME LVL(lvl) FNAME

    xxx: Бля, я написал какое-то говно
    yyy: Я видел некоторое дерьмо
    xxx: Пиздец просто
    zzz: Действительно говно.
    xxx: Я не знаю даже нахуя я это делал
    xxx: Почему-то, когда начинал, мне не пришло в голову, что логгирование на макросах, конфигурируемое в компилтайме — это пиздец

    CYB3R, 02 Марта 2016

    Комментарии (26)
  3. C++ / Говнокод #19555

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    std::string sql = "INSERT INTO digest_test_record (set_id, ref_digest, cand_digest, vdt_cfg_warn, digest_cfg_warn, "
        "ref_duration, ref_cardinality, ref_dispersion, "
        "cand_duration, cand_cardinality, cand_dispersion, "
        "cardinality, difference, red_difference, ext_difference, "
        "inv_cardinality, inv_difference, inv_red_difference, inv_ext_difference,
        "timing, lib_version) SELECT 0, "
        "ROW($1, $2, $3, $4, $5, $6, $7, $8)::digest_info, "
        "ROW($9, $10, $11, $12, $13, $14, $15, $16)::digest_info,"
        "$17, $18, ",
        "$19, $20, $21, "
        "$22, $23, $24, "
        "$25, $26, $27, $28, "
        "$29, $30, $31, $32, "
        "$33, ROW($34, $35, $36, make_date($37, $38, $39), $40)::lib_version_info";
    
        cn.prepare("insert", sql);
    
        xact.prepared("insert")
        (ref_digest_info.src_width)(ref_digest_info.src_height)(ref_digest_info.src_fps)(ref_digest_info.src_duration)
            (ref_digest_info.vdt_duration)(ref_digest_info.cardinality)(ref_digest_info.has_flags)(ref_digest_info.src_filename)
        (cand_digest_info.src_width)(cand_digest_info.src_height)(cand_digest_info.src_fps)(cand_digest_info.src_duration)
            (cand_digest_info.vdt_duration)(cand_digest_info.cardinality)(cand_digest_info.has_flags)(cand_digest_info.src_filename)
        (results.vdt_cfg_warn)(results.digest_cfg_warn)
        (results.ref_duration)(results.ref_cardinality)(results.ref_dispersion)
        (results.cand_duration)(results.cand_cardinality)(results.cand_dispersion)
        (results.cardinality)(results.difference)(results.red_difference)(results.ext_difference)
        (results.inv_cardinality)(results.inv_difference)(results.inv_red_difference)(results.inv_ext_difference)
        ((double)timing / CLOCKS_PER_SEC)(li.main_ver)(li.sub_ver)(li.revision)(li.year)(li.month)(li.day)(li.platform).exec();

    Мои глаза.... Яркий пример использования нативного pqxx

    leon_mz, 01 Марта 2016

    Комментарии (44)
  4. C++ / Говнокод #19534

    +3

    1. 1
    2. 2
    3. 3
    int main() { 
    for (float n = 0, l = 0, q = scanf("%f", &n), r = n, m = (l + r) / 2; r - l > 0.00001 || 0 * printf("%f", l); m*m <= n ? l = m : r = m, m = (l + r) / 2); 
    }

    Просто бинпоиск в одну строчку)

    AndreyZ, 25 Февраля 2016

    Комментарии (21)
  5. C++ / Говнокод #19530

    +2

    1. 1
    if ( LIKELY( _mode == normal ))

    _mode задается один раз в начале программы по конфигурационному файлу.

    govnokoderatata, 25 Февраля 2016

    Комментарии (28)
  6. C++ / Говнокод #19517

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    __fastcall OpenArray(T arg0, T arg1, T arg2, T arg3, T arg4, T arg5, T arg6,
    				 T arg7, T arg8, T arg9, T arg10, T arg11, T arg12,
    				 T arg13, T arg14, T arg15, T arg16, T arg17, T arg18)
    	  {
    		Array = new T[Count = 19];
    		Array[0] = arg0;
    		Array[1] = arg1;
    		Array[2] = arg2;
    		Array[3] = arg3;
    		Array[4] = arg4;
    		Array[5] = arg5;
    		Array[6] = arg6;
    		Array[7] = arg7;
    		Array[8] = arg8;
    		Array[9] = arg9;
    		Array[10] = arg10;
    		Array[11] = arg11;
    		Array[12] = arg12;
    		Array[13] = arg13;
    		Array[14] = arg14;
    		Array[15] = arg15;
    		Array[16] = arg16;
    		Array[17] = arg17;
    		Array[18] = arg18;
    	  }

    Старый недобрый C++ Builder. Выше по коду еще 17 таких же конструкторов.

    Vindicar, 24 Февраля 2016

    Комментарии (121)
  7. C++ / Говнокод #19502

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    unsigned int FileScanner::smartBruteForce(QByteArray &haystack, QByteArray &needle)
    {
        unsigned int count = 0;
        unsigned int dataSize = haystack.size();
        unsigned int needleSize = needle.size();
        unsigned int needleSizeCut = needleSize - 1;
        char* dp = haystack.data();
        char* np = needle.data();
        char lastNeedle = *(np + needleSize - 1);
    
        for(unsigned int i = 0; i < dataSize - needleSize + 1; i++)
        {
            if(*(dp + (i + needleSizeCut)) != lastNeedle) //This is smart technology ))))
                continue;
            unsigned int j;
            for(j = 0; j < needleSize; j++)
            {
                if(*(dp + (i + j)) != *(np + j))
                    break;
            }
            if(j == needleSize)
                count++;
        }
        return count;
    }

    laMer007, 20 Февраля 2016

    Комментарии (6)
  8. C++ / Говнокод #19479

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    bool Diagram::checkIsOverlayElements(const int index)
            {
                int _x0, _y0, _xX, _yY;
    
                int x0 = _vectorFigure[index]->getCoordinate().getX0();
                int y0 = _vectorFigure[index]->getCoordinate().getY0();
                int xX = _vectorFigure[index]->getCoordinate().getXx();
                int yY = _vectorFigure[index]->getCoordinate().getYy();
    
                for(int _index = 0; _index < _vectorFigure.size(); _index++)
                {
                    _x0 = _vectorFigure[_index]->getCoordinate().getX0();
                    _y0 = _vectorFigure[_index]->getCoordinate().getY0();
                    _xX = _vectorFigure[_index]->getCoordinate().getXx();
                    _yY = _vectorFigure[_index]->getCoordinate().getYy();
    
                    if(((x0 >= _x0 && x0 <= xX)
                        &&(y0 >= _y0 && y0 <= _yY))
                        ||((xX >= _x0 && xX <= _xX)
                            &&(yY >= _y0 && yY <= _yY))
                        ||((x0 >= _x0 && x0 <= xX)
                            &&(yY >= _y0 && y0 <= _yY))
                        ||((xX >= _x0 && xX <= _xX)
                           &&(y0 >= _y0 && yY <= _yY)))
                    {
                        return true;
                    }
                }
                return false;
            }

    Проверка наложения фигур друг на друга.

    Isaac, 17 Февраля 2016

    Комментарии (0)
  9. C++ / Говнокод #19432

    −2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    int abs(int x)
    {
    	int a = x;
    	if(x >= 0) 
    	{
    		return a;
    	} 
    	else if(x < 0) 
    	{
    		a = a^2;
    		a = sqrt(a);
    		return a;
    	}
    }

    Поиск абсолютного значения числа.

    DeScWD, 11 Февраля 2016

    Комментарии (86)
  10. C++ / Говнокод #19391

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    bool matchingNumerals(int num)
    {
    QString str = QString("%1").arg(num);
        for (int i = 0; i < 10; i++)
            if (str.split(QString("%1").arg(i)).size() > 2)
                return true;
        return false;
    }

    Функция, определяющая, есть ли в числе одинаковые цифры на великой могучей Qt.

    Mongrell, 03 Февраля 2016

    Комментарии (0)