В этом посте речь пойдёт о реализации процедуры вычисления значения функции распределения Стьюдента без использования каких-либо специальных математических библиотек. Только Java (либо C/C++, код вполне универсален).
Рубрика «C» - 80
Минуя бесконечность: t-тест своими руками
2016-08-15 в 12:33, admin, рубрики: C, c/c++, c++, java, t-тест, алгоритм, Алгоритмы, гамма функция, гипергеометрическая функция, математика, статистика, тест Стьюдента, метки: t-тест, гамма функция, гипергеометрическая функция, тест СтьюдентаКаламбуры типизации функций в C
2016-08-14 в 18:20, admin, рубрики: assembly, C, c++, x86-64, ассемблер, каламбуры типизации, ненормальное программирование, слабая типизация, тонкости программированияУ C репутация негибкого языка. Но вы знаете, что вы можете изменить порядок аргументов функции в C, если он вам не нравится?
#include <math.h>
#include <stdio.h>
double DoubleToTheInt(double base, int power) {
return pow(base, power);
}
int main() {
// приводим к указателю на функуцию с обратным порядком аргументов
double (*IntPowerOfDouble)(int, double) =
(double (*)(int, double))&DoubleToTheInt;
printf("(0.99)^100: %lf n", DoubleToTheInt(0.99, 100));
printf("(0.99)^100: %lf n", IntPowerOfDouble(100, 0.99));
}
Этот код на самом деле никогда не определяет функцию IntPowerOfDouble — потому что функции IntPowerOfDouble не существует. Это переменная, указывающая на DoubleToTheInt, но с типом, который говорит, что ему хочется, чтобы аргумент типа int шел перед аргументом типа double.
Вы могли бы ожидать, что IntPowerOfDouble примет аргументы в том же порядке, что и DoubleToTheInt, но приведет аргументы к другим типам, или что-то типа того. Но это не то, что происходит.
Попробуйте — вы увидите одинаковый результат в обоих строчках.
emiller@gibbon ~> clang something.c
emiller@gibbon ~> ./a.out
(0.99)^100: 0.366032
(0.99)^100: 0.366032
Компилятор LLVM для MultiClet: бенчмарк WhetStone
2016-08-11 в 6:28, admin, рубрики: C, LLVM, multiclet, Компиляторы, мультиклет, мультиклеточные процессоры, параллельное программирование, Тестирование IT-систем
В разговорах о мультиклеточной архитектуре ранее часто обсуждалась её применимость к той или иной задаче в контексте количества присутствующего в ней естественного параллелизма. Так, при выполнении различных бенчмарков, в частности, CoreMark, велась речь о несоответствии таких программ мультиклеточной архитектуре, ввиду достаточно жесткой последовательности алгоритма, не позволяющего клеткам внутри группы извлекать достаточное количество параллельно исполняемых в ходе работы команд. В данной статье мы оценим мультиклеты в более показательных условиях — при помощи бенчмарка WhetStone.Читать полностью »
Const и оптимизации в C
2016-08-07 в 5:21, admin, рубрики: C, c++, clang, const, gcc, компилятор, Компиляторы, оптимизацияСегодня на /r/C_Programming задали вопрос о влиянии const в C на оптимизацию. Я много раз слышал варианты этого вопроса в течении последних двадцати лет. Лично я обвиняю во всём именование const.
Заставляем FFMPEG менять HLS потоки в зависимости от текущей пропускной способности
2016-08-06 в 14:32, admin, рубрики: C, ffmpeg android ndk jni HLS, Разработка под android, метки: ffmpeg android ndk jni HLSПривет, жители Хабра. Сегодня хочу рассказать историю о том, как пришлось нырять в глубины ffmpeg без подготовки. Эта статья будет руководством для тех, кому нужна возможность корректной работы FFMPEG c HLS стримами (а именно — смена потоков в зависимостри от текущей пропускной способности сети).
Читать полностью »
Это маленькое чудо — алгоритм Кнута-Морриса-Пратта (КМП)
2016-08-06 в 12:22, admin, рубрики: C, c++, алгоритм Кнута-Морриса-Пратта, Поиск строки, метки: алгоритм Кнута-Морриса-Пратта, Поиск строкиАлгоритм Кнута-Моррса-Пратта используется для поиска подстроки (образца) в строке. Кажется, что может быть проще: двигаемся по строке и сравниваем последовательно символы с образцом. Не совпало, перемещаем начало сравнения на один шаг и снова сравниваем. И так до тех пор, пока не найдем образец или не достигнем конца строки.
Читать полностью »
Вступление
Сегодня герой нашего вечернего шоу — датчик абсолютного давления и температуры (последним сегодня уже никого не удивишь, их стали пихать абсолютно во все датчики, так или иначе связанные с embedded системами) Bosch BMP180. Датчик не новый и по его названию в любой момент можно нагуглить просто невероятное количество информации, включая примеры работы на всех возможных языках. Но как бы это не показалось странным, наша цель состоит вовсе не в том, чтобы разобраться, как именно он работает, нет. Мы будем работать над стилем программирования.
Читать полностью »
Рейтинг языков программирования в 2016 году
2016-08-03 в 10:59, admin, рубрики: C, java, javascript, Блог компании King Servers, Программирование, рейтинг языков программирования, метки: рейтинг языков программирования
Спор о том, какой язык программирования лучше, не утихает долгие годы. Многие соглашаются с тем, что все же нельзя говорит о «лучшем языке программирования». Какие-то более распространенные, какие-то — менее. Причем изучая один какой-то язык программирования, приходится учить связанные с ним вещи, что нередко приводит к изучению еще одного языка программирования, потом — следующего и так далее…
Для того, чтобы показать, какие языки программирования более востребованы или распространены на данный момент, ряд организаций ведут собственные рейтинги. Данные этих рейтингов берутся из ряда источников данных. Это форумы, предложения работы для программистов, упоминания в социальных сетях, опросы, репозитории кода. Такого рода рейтинги полезны для отслеживания трендов. В продолжении — несколько рейтингов, которые считаются наиболее авторитетными.
Читать полностью »
PVS-Studio признаётся в любви к Linux
2016-07-28 в 14:17, admin, рубрики: C, c++, clang, gcc, linux, pvs-studio, PVS-Studio for Linux, PVS-Studio для Linux, Блог компании PVS-Studio, Разработка под Linux, Си, статический анализ кода, статический анализатор кода
Это заметка о любви. О любви статического анализатора кода PVS-Studio к замечательной открытой операционной системе Linux. Эта любовь молода, трогательная и ранима. Этой любви нужно помочь укрепиться. Вы поможете, если заранее запишитесь в добровольцы для тестирования beta-версии PVS-Studio for Linux.
Читать полностью »

