Вопросы по теме 'invariants'

Что такое инвариант?
Это слово, кажется, используется во многих контекстах. Лучшее, что я могу понять, это то, что они означают переменную, которая не может измениться. Разве не для этого нужны константы / финалы (черт возьми, Java!)?
35679 просмотров
schedule 10.02.2023

Детерминированный рендеринг OpenGL между поставщиками графических процессоров
В настоящее время я программирую приложение для научных изображений с использованием OpenGL. Я хотел бы знать, должен ли рендеринг OpenGL (с точки зрения извлеченного пикселя из FBO) быть полностью детерминированным, когда мой код (C++/OpenGL и...
1122 просмотров
schedule 02.08.2023

Инвариант цикла для функции вычисления факториалов
Мне трудно правильно определить инвариант цикла для следующей функции: F(y) X <-- 1 while (y > 1) do x <-- x * y y <-- y - 1 return (x) Я определил, что инвариант цикла равен x = 1 OR x = y! ,...
3883 просмотров

Инвариант класса D, вызывающий константные функции
Почему следующее вызывает ошибку компилятора: class A { public: int f() const { return 5; } protected: invariant() { assert (f() == 5); } } main.d(14): Error: cannot call public/export function f from...
98 просмотров
schedule 01.05.2022

Что такое инвариант класса в Java?
Я погуглил по этой теме, но, кроме Википедии , я не нашел никакой другой полезной документации или статей. Может ли кто-нибудь простыми словами объяснить мне, что это означает, или сослаться на какую-нибудь приятную и легкую для понимания...
77064 просмотров
schedule 29.06.2023

ковариантный тип T встречается в инвариантном положении
Я делаю свои первые шаги в Scala, и я хотел бы, чтобы следующий код работал: trait Gene[+T] { val gene: Array[T] } Ошибка, которую выдает компилятор: covariant type T occurs in invariant position in type => Array[T] of value gene...
7089 просмотров
schedule 26.04.2023

DDD - принудительное применение инвариантов с небольшими совокупными корнями
У меня первая попытка DDD, и у меня возникла проблема с агрегированным дизайном. Мое приложение содержит 3 объекта; График, узел, ссылка. Каждая из этих сущностей имеет свойство имени, которое может быть изменено пользователем (что, как я считаю,...
4390 просмотров

Массив Scala BigInt
Я пытаюсь решить эту проблему http://projecteuler.net/problem=62 и получаю завис на этой ошибке: euler.scala:10: error: type mismatch; found : Array[Any] required: Array[Int] Note: Any >: Int, but class Array is invariant in type T. You...
1356 просмотров
schedule 25.09.2022

Как заставить инвариантный метод генерировать конкретное исключение в контрактах кода C #?
Я хочу, чтобы мой инвариантный метод объекта генерировал определенное исключение. Имеет ли это смысл? Возможно ли это на C #? Например, у меня есть следующий код, включая класс A с инвариантным методом и класс исключения E. На данный момент класс...
746 просмотров

Является ли «инвариантное» свойство частью определения абстракции?
В рамках моего обучения я думаю, что лучший ответ (со смыслом) для определения абстракции, который я нашел, взят из stackoverflow: Что такое абстракция? Кроме того, В рамках текущего онлайн-курса cs61B Fall 2006, Беркли, я изучил...
310 просмотров

Написание факториальной функции со списками
Хотя я считаю, что нашел надежный алгоритм для своей функции (факториал), я очень смущен тем, почему он зацикливается бесконечно. Вот мой код: declare fun{Fact N} local M=1 in %I suppose it loops from here?? local FactT in...
230 просмотров
schedule 17.08.2023

shared_ptr, который не может быть нулевым?
Использование std::shared_ptr выражает совместное владение и необязательность (с возможностью быть нулевым). Я оказываюсь в ситуациях, когда хочу выразить совместное владение только в своем коде, а не по желанию. При использовании shared_ptr в...
1842 просмотров

Что такое модели чтения в агрегатах в DDD и где их использовать?
В DDD я знаю, что удаление совокупного корня будет означать одновременное удаление всего в пределах совокупной границы. Но я заметил, что модели чтения (свойства только для чтения) используются в агрегатах, как заявил Лев Городинский в этом блоге:...
1325 просмотров

Могу ли я написать защиту типа, которая утверждает несколько инвариантов?
Могу ли я написать защиту типа, утверждающую что-то об одном или нескольких подобъектах аргумента? В псевдокоде это может выглядеть так: class C { a: number?; b: string?; function assertInitialized() : (this.a is number) and...
3070 просмотров
schedule 06.05.2022

Инвариант алгоритма
Предположим, что этот алгоритм возвращает максимальную сумму подмассива. И пусть a[] будет массивом длины n. randmax = 0 maximum = 0 for 0 <= i < n randmax = randmax + a_i if randmax > max max = randmax if randmax <...
275 просмотров
schedule 08.10.2023

инвариант бинарного поиска для нахождения первого вхождения элемента
У меня проблема с определением инварианта нахождения первого элемента бинарного поиска. (У меня есть отсортированный массив a, и я хочу найти первый элемент, равный некоторому числу q, и если он не существует, вернуть -1) Во-первых, я установил...
397 просмотров
schedule 30.04.2023

Защититься от повторного входа и нарушений инварианта при использовании INotifyPropertyChanged?
При использовании INotifyPropertyChanged существует риск ошибок повторного входа, поскольку обработчик событий PropertyChanged может прямо или косвенно вызывать метод отправителя. Поскольку типичная реализация вызывает эти события, как только...
27 просмотров

нахождение инварианта цикла для алгоритма
У меня возникли проблемы с поиском инварианта для приведенного ниже алгоритма. Кроме того, мне нужно выполнить все шаги, чтобы доказать, как я нахожу конкретный инвариант, и я не знаю, как я могу это продемонстрировать. Я видел, что этот алгоритм...
147 просмотров

Dafny: быстрое вычисление экспоненты (циклы)
Я пытаюсь реализовать и скомпилировать алгоритм Fast Exponential в Dafny, но столкнулся с парой проблем. Контекст: Весь код доступен ниже; Сама лемма о быстрой экспоненте ( FastExp ) является итеративной; Функция exp используется для...
31 просмотров
schedule 26.11.2022