Какие-либо альтернативы.Net 4 Code Contracts статический анализатор?

Существует на самом деле целая выделенная книга (среди других вещей) к быстра методы для вычисления \pi: 'Пи и AGM', Jonathan и Peter Borwein ( доступный на Amazon).

я изучил AGM и связал алгоритмы вполне немного: это довольно интересно (хотя иногда нетривиальный).

Примечание, что для реализации большинства современных алгоритмов для вычисления \pi Вам будет нужна библиотека арифметики мультиточности ( GMP является вполне хорошим выбором, хотя это было некоторое время, так как я в последний раз использовал его).

временная сложность лучших алгоритмов находится в O (M (n) журнал (n)), где M (n) является временной сложностью для умножения двух n-bit целых чисел (M (n) =O (n журнал (n) журнал (журнал (n))) использование основанных на FFT алгоритмов, которые обычно необходимы, когда вычислительные цифры \pi и такой алгоритм реализованы в GMP).

Примечание, что даже при том, что математика позади алгоритмов не могла бы быть тривиальной, сами алгоритмы обычно являются несколькими строками псевдокода и их реализацией, обычно очень просто (если Вы приняли решение не записать свою собственную арифметику мультиточности:-)).

9
задан GregC 12 April 2011 в 18:22
поделиться

1 ответ

Я не уверен, что вы ищете, но вы можете взглянуть на Frama-C и его язык аннотаций ACSL для C.

По сравнению с контрактами .NET, контракты ACSL не являются исполняемыми (их невозможно проверить с помощью утверждений времени выполнения), но они лучше подходят для статического анализа (они более выразительны и позволяют писать и статически проверять полную спецификацию. По крайней мере, теоретически)

2
ответ дан 5 December 2019 в 02:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: