Няшная / Говнокод #10574 0 12345678910111213141516171819202122232425262728293031 double erf(double x) { const double xbreak = 0.46875; ... y = fabs(x); // evaluate erf for |x| <= 0.46875 if (y<xbreak) { ... } // evaluate erfc for 0.46875 <= |x| <= 4.0 else if ((y > xbreak) && (y <= 4.)) { ... } // evaluate erfc for |x| > 4.0 else { ... } // fix up for negative argument, erf, etc. if (x > xbreak) result = 1 - result; if (x < -xbreak) result = result - 1; return result; } > Надо было в свое время — перевел MATLABовский исходник на C (сделано через дробно-рациональные аппроксимации на нескольких отрезках) http://www.rsdn.ru/forum/alg/1797230.all.aspx Запостил: TarasB, 05.06.2012 (Updated 25.03.2018) Комментарии (8) RSS defecate-plusplus 14 лет ago # 0 тебя смутило лишнее неверное условие на 14 строке? Ответить bormand 14 лет ago # 0 ⇈ Оно мало того что лишнее, так из-за него +-0.46875 попадает в третью ветку... UPD. Хотя тут и 9я строка походу неверна. Ответить defecate-plusplus 14 лет ago # 0 ⇈ > лишнее неверное именно так я и написал Ответить bormand 14 лет ago # 0 ⇈ Сорри, невнимательно читаю. Ответить TarasB 14 лет ago # 0 ⇈ более того, для x=xbrake и со строками 25-28 будет хуйня, потому что они явно относятся только к 2 и 3 веткам. Ответить defecate-plusplus 14 лет ago # 0 вообще, конечно, ковырять какие то матановские библиотеки - удовольствие для избранных http://bit.ly/KMndPM Ответить bormand 14 лет ago # 0 ⇈ Заглянул на вики, как оказалось эти erf и erfc описаны даже в стандарте С99. Ответить TarasChlenodevka 14 лет ago # 0 Я парень, 24 года. Хочу отсосать у кавказца. Пиши желательно с фото на tarasber@mail.ru, вышлю в ответ Ответить Добавить комментарий Отменить ответ Помни, guest, за тобой могут следить! А не использовать ли нам bbcode? [b]жирный[/b] — жирный [i]курсив[/i] — курсив [u]подчеркнутый[/u] — подчеркнутый [s]перечеркнутый[/s] — перечеркнутый [blink]мигающий[/blink] — мигающий [color=red]цвет[/color] — цвет (подробнее) [size=20]размер[/size] — размер (подробнее) [code=<language>]some code[/code] (подробнее)
bormand 14 лет ago # 0 ⇈ Оно мало того что лишнее, так из-за него +-0.46875 попадает в третью ветку... UPD. Хотя тут и 9я строка походу неверна. Ответить
TarasB 14 лет ago # 0 ⇈ более того, для x=xbrake и со строками 25-28 будет хуйня, потому что они явно относятся только к 2 и 3 веткам. Ответить
defecate-plusplus 14 лет ago # 0 вообще, конечно, ковырять какие то матановские библиотеки - удовольствие для избранных http://bit.ly/KMndPM Ответить
bormand 14 лет ago # 0 ⇈ Заглянул на вики, как оказалось эти erf и erfc описаны даже в стандарте С99. Ответить
TarasChlenodevka 14 лет ago # 0 Я парень, 24 года. Хочу отсосать у кавказца. Пиши желательно с фото на tarasber@mail.ru, вышлю в ответ Ответить
UPD. Хотя тут и 9я строка походу неверна.
именно так я и написал
http://bit.ly/KMndPM