You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,8 @@
2
2
Всегда пиши комментарии в коде на русском языке.
3
3
Комментарии к классам, структурам делегатам и перечислениям, а также к их членам всегда пиши в системном виде.
4
4
При написании комментариев (ели они короткие) в коде предпочитай размещение комментария в конце той же строке, что и сам комментируемый код.
5
+
Если ты пишешь xml-комментарий, и он состоит из одного приложения, то тебе нужно написать весь комментарий в одной строке включая открывающий и закрывающий теги.
6
+
Обращай особое внимание на конструкторы классов по умолчанию, а также на их параметры - не пропускай их при генерации xml-комментариев.
5
7
Старайся избегать тривиальных комментариев.
6
8
При герерации кода старайся минимизировать количество фигурных скобок.
7
9
При генерации кода используй самые современные виды синтаксических конструкций языка.
@@ -12,4 +14,4 @@
12
14
Ппредпочитай английский язык при именовании переменных, методов, классов и прочих сущностей.
13
15
При инициализации массивов, списков и словарей используй выражения инициализации массивов.
14
16
При объявлении переменных предпочитай использовать ключевое слово var.
15
-
При написании системных комментариев старайся писать их компактно в одну строку, если длина текста небольшая.
17
+
При написании системных комментариев старайся писать их компактно в одну строку, если длина текста небольшая.
Copy file name to clipboardExpand all lines: MathCore.DSP/Filters/AnalogBasedFilter.cs
+35-6Lines changed: 35 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -7,13 +7,14 @@
7
7
namespaceMathCore.DSP.Filters;
8
8
9
9
/// <summary>Цифровой фильтр на основе аналогового прототипа</summary>
10
-
//[KnownType(typeof(BesselFilter))] // Наихудшее аппроксимация прямоугольной АЧХ (близка по форме к гаусовой кривой), но наилучшая форма переходной хар-ки
10
+
//[KnownType(typeof(BesselFilter))] // Наихудшая аппроксимация прямоугольной АЧХ (близка по форме к гауссовой кривой), но наилучшая форма переходной хар-ки
11
11
[KnownType(typeof(ButterworthFilter))]// Промежуточные качества по прямоугольности АЧХ и переходной хар-ке
12
12
[KnownType(typeof(ChebyshevFilter))]// АЧХ наиболее приближена к прямоугольной - наибольшие пульсации в переходной хор-ке
thrownewInvalidOperationException($"Период дискретизации dt={dt} не может быть меньше, либо равен нулю")
20
-
{
21
-
Data=
22
-
{
23
-
{nameof(dt),dt},
24
-
{"fd",1/dt},
25
-
{nameof(fsl),fsl},
26
-
{nameof(fpl),fpl},
27
-
{nameof(fph),fph},
28
-
{nameof(fsh),fsh},
29
-
}
30
-
};
22
+
.WithData(nameof(dt),dt)
23
+
.WithData("fd",1/dt)
24
+
.WithData(nameof(fsl),fsl)
25
+
.WithData(nameof(fpl),fpl)
26
+
.WithData(nameof(fph),fph)
27
+
.WithData(nameof(fsh),fsh);
31
28
32
29
if(1/dt==0)
33
30
thrownewInvalidOperationException("Частота дискретизации не может быть равна нулю")
34
-
{
35
-
Data=
36
-
{
37
-
{nameof(dt),dt},
38
-
{"fd",1/dt},
39
-
{nameof(fsl),fsl},
40
-
{nameof(fpl),fpl},
41
-
{nameof(fph),fph},
42
-
{nameof(fsh),fsh},
43
-
}
44
-
};
31
+
.WithData(nameof(dt),dt)
32
+
.WithData("fd",1/dt)
33
+
.WithData(nameof(fsl),fsl)
34
+
.WithData(nameof(fpl),fpl)
35
+
.WithData(nameof(fph),fph)
36
+
.WithData(nameof(fsh),fsh);
45
37
46
38
if(fsl>=fpl)
47
-
thrownewInvalidOperationException($"Нижняя частота среза fsl должна быть ниже нижней частоты пропускания fpl\r\n dt={dt}\r\n fsl={fsl}\r\n fpl={fpl}\r\n fph={fph}\r\n fsh={fsh}")
48
-
{
49
-
Data=
50
-
{
51
-
{nameof(dt),dt},
52
-
{"fd",1/dt},
53
-
{nameof(fsl),fsl},
54
-
{nameof(fpl),fpl},
55
-
{nameof(fph),fph},
56
-
{nameof(fsh),fsh},
57
-
}
58
-
};
39
+
thrownewInvalidOperationException($"""
40
+
Нижняя частота среза fsl должна быть ниже нижней частоты пропускания fpl
41
+
dt={dt}
42
+
fsl={fsl}
43
+
fpl={fpl}
44
+
fph={fph}
45
+
fsh={fsh}
46
+
""")
47
+
.WithData(nameof(dt),dt)
48
+
.WithData("fd",1/dt)
49
+
.WithData(nameof(fsl),fsl)
50
+
.WithData(nameof(fpl),fpl)
51
+
.WithData(nameof(fph),fph)
52
+
.WithData(nameof(fsh),fsh);
59
53
60
54
if(fpl>=fph)
61
-
thrownewInvalidOperationException($"Нижняя частота пропускания fpl должна быть ниже верхней частоты пропускания fph\r\n dt={dt}\r\n fsl={fsl}\r\n fpl={fpl}\r\n fph={fph}\r\n fsh={fsh}")
62
-
{
63
-
Data=
64
-
{
65
-
{nameof(dt),dt},
66
-
{"fd",1/dt},
67
-
{nameof(fsl),fsl},
68
-
{nameof(fpl),fpl},
69
-
{nameof(fph),fph},
70
-
{nameof(fsh),fsh},
71
-
}
72
-
};
55
+
thrownewInvalidOperationException($"""
56
+
Нижняя частота пропускания fpl должна быть ниже верхней частоты пропускания fph
57
+
dt={dt}
58
+
fsl={fsl}
59
+
fpl={fpl}
60
+
fph={fph}
61
+
fsh={fsh}
62
+
""")
63
+
.WithData(nameof(dt),dt)
64
+
.WithData("fd",1/dt)
65
+
.WithData(nameof(fsl),fsl)
66
+
.WithData(nameof(fpl),fpl)
67
+
.WithData(nameof(fph),fph)
68
+
.WithData(nameof(fsh),fsh);
73
69
74
70
if(fph>=fsh)
75
-
thrownewInvalidOperationException($"Верхняя частота пропускания fph должна быть ниже верхней частоты среза fsh\r\n dt={dt}\r\n fsl={fsl}\r\n fpl={fpl}\r\n fph={fph}\r\n fsh={fsh}")
76
-
{
77
-
Data=
78
-
{
79
-
{nameof(dt),dt},
80
-
{"fd",1/dt},
81
-
{nameof(fsl),fsl},
82
-
{nameof(fpl),fpl},
83
-
{nameof(fph),fph},
84
-
{nameof(fsh),fsh},
85
-
}
86
-
};
71
+
thrownewInvalidOperationException($"""
72
+
Верхняя частота пропускания fph должна быть ниже верхней частоты среза fsh
73
+
dt={dt}
74
+
fsl={fsl}
75
+
fpl={fpl}
76
+
fph={fph}
77
+
fsh={fsh}
78
+
""")
79
+
.WithData(nameof(dt),dt)
80
+
.WithData("fd",1/dt)
81
+
.WithData(nameof(fsl),fsl)
82
+
.WithData(nameof(fpl),fpl)
83
+
.WithData(nameof(fph),fph)
84
+
.WithData(nameof(fsh),fsh);
87
85
88
86
if(fsh>=1/dt/2)
89
-
thrownewInvalidOperationException($"Верхняя частота среза fsh должна быть ниже половины частоты дискретизации fd={1/dt} (1 / (dt={dt}))\r\n dt={dt}\r\n fsl={fsl}\r\n fpl={fpl}\r\n fph={fph}\r\n fsh={fsh}")
90
-
{
91
-
Data=
92
-
{
93
-
{nameof(dt),dt},
94
-
{"fd",1/dt},
95
-
{nameof(fsl),fsl},
96
-
{nameof(fpl),fpl},
97
-
{nameof(fph),fph},
98
-
{nameof(fsh),fsh},
99
-
}
100
-
};
87
+
thrownewInvalidOperationException($"""
88
+
Верхняя частота среза fsh должна быть ниже половины частоты дискретизации fd={1/dt} (1 / (dt={dt}))
0 commit comments