Вопросы по теме '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 просмотров
schedule
18.07.2023
Инвариант класса 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 просмотров
schedule
10.07.2023
Массив 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 просмотров
schedule
19.11.2022
Является ли «инвариантное» свойство частью определения абстракции?
В рамках моего обучения я думаю, что лучший ответ (со смыслом) для определения абстракции, который я нашел, взят из stackoverflow:
Что такое абстракция?
Кроме того,
В рамках текущего онлайн-курса cs61B Fall 2006, Беркли, я изучил...
310 просмотров
schedule
30.05.2022
Написание факториальной функции со списками
Хотя я считаю, что нашел надежный алгоритм для своей функции (факториал), я очень смущен тем, почему он зацикливается бесконечно. Вот мой код:
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 просмотров
schedule
27.04.2023
Что такое модели чтения в агрегатах в DDD и где их использовать?
В DDD я знаю, что удаление совокупного корня будет означать одновременное удаление всего в пределах совокупной границы.
Но я заметил, что модели чтения (свойства только для чтения) используются в агрегатах, как заявил Лев Городинский в этом блоге:...
1325 просмотров
schedule
30.09.2022
Могу ли я написать защиту типа, которая утверждает несколько инвариантов?
Могу ли я написать защиту типа, утверждающую что-то об одном или нескольких подобъектах аргумента? В псевдокоде это может выглядеть так:
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 просмотров
schedule
19.05.2023
нахождение инварианта цикла для алгоритма
У меня возникли проблемы с поиском инварианта для приведенного ниже алгоритма. Кроме того, мне нужно выполнить все шаги, чтобы доказать, как я нахожу конкретный инвариант, и я не знаю, как я могу это продемонстрировать. Я видел, что этот алгоритм...
147 просмотров
schedule
24.12.2023
Dafny: быстрое вычисление экспоненты (циклы)
Я пытаюсь реализовать и скомпилировать алгоритм Fast Exponential в Dafny, но столкнулся с парой проблем.
Контекст:
Весь код доступен ниже;
Сама лемма о быстрой экспоненте ( FastExp ) является итеративной;
Функция exp используется для...
31 просмотров
schedule
26.11.2022