Skip to content

Commit 4f1025f

Browse files
committed
Added MathFuncGenerator.
1 parent 8989efd commit 4f1025f

File tree

11 files changed

+355
-98
lines changed

11 files changed

+355
-98
lines changed

MathFunctions.GUI/frmMain.Designer.cs

Lines changed: 59 additions & 45 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

MathFunctions.GUI/frmMain.cs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,22 +57,22 @@ private void dgvErrors_CellDoubleClick(object sender, DataGridViewCellEventArgs
5757

5858
private void btnRebuildDerivatives_Click(object sender, EventArgs e)
5959
{
60-
try
60+
//try
6161
{
6262
Helper.InitDerivatives(tbDerivatives.Text);
6363
btnCalculate_Click(sender, e);
6464
Settings.Default.Derivatives = tbDerivatives.Text;
6565
Settings.Default.Save();
6666
}
67-
catch (Exception ex)
67+
/*catch (Exception ex)
6868
{
6969
var parserErrors = Helper.Parser.Errors;
7070
if (parserErrors.Count != 0)
7171
MessageBox.Show(string.Format("Threa are errors in derivatives list: {0} at position {1}",
7272
Helper.Parser.Errors.First().Message, Helper.Parser.Errors.First().Position));
7373
else
7474
MessageBox.Show("Derivatives: " + ex.Message);
75-
}
75+
}*/
7676
}
7777

7878
private void cbRealTimeUpdate_CheckedChanged(object sender, EventArgs e)
@@ -106,7 +106,9 @@ private void btnCalculate_Click(object sender, EventArgs e)
106106
foreach (var error in Helper.Parser.Errors)
107107
dgvErrors.Rows.Add(error.Position == null ? string.Empty : error.Position.Column.ToString(), error.Message);
108108
tbSimplification.Text = null;
109+
tbSimplifiedOpt.Text = null;
109110
tbDerivative.Text = null;
111+
tbDerivativeOpt.Text = null;
110112
tbIlCode.Text = null;
111113
tbDerivativeIlCode.Text = null;
112114
}
@@ -141,6 +143,7 @@ private void btnCalculate_Click(object sender, EventArgs e)
141143
foreach (var error in Helper.Parser.Errors)
142144
dgvErrors.Rows.Add(error.Position == null ? string.Empty : error.Position.Column.ToString(), error.Message);
143145
tbDerivative.Text = null;
146+
tbDerivativeOpt.Text = null;
144147
tbDerivativeIlCode.Text = null;
145148
}
146149

@@ -170,5 +173,12 @@ private void btnSave_Click(object sender, EventArgs e)
170173
Assembly.Finalize(Path.GetDirectoryName(saveFileDialog1.FileName), Path.GetFileName(saveFileDialog1.FileName));
171174
}
172175
}
176+
177+
private void btnGenerateFunc_Click(object sender, EventArgs e)
178+
{
179+
MathFuncGenerator generator = new MathFuncGenerator();
180+
var func = generator.Generate(tbVar.Text, new string[] { "a", "b" }, null);
181+
tbInput.Text = func.ToString().Replace("√", "sqrt");
182+
}
173183
}
174184
}

MathFunctions.GUI/frmMain.resx

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -120,27 +120,25 @@
120120
<data name="tbDerivatives.Text" xml:space="preserve">
121121
<value>(f(x) / g(x))' = (f(x)' * g(x) + f(x) * g(x)') / g(x)^2;
122122
(f(x) ^ g(x))' = f(x) ^ g(x) * (f(x)' * g(x) / f(x) + g(x)' * ln(f(x)));
123-
124123
neg(f(x))' = neg(f(x)');
125-
126124
sin(f(x))' = cos(f(x)) * f(x)';
127125
cos(f(x))' = -sin(f(x)) * f(x)';
128126
tan(f(x))' = f(x)' / cos(f(x)) ^ 2;
129127
cot(f(x))' = -f(x)' / sin(f(x)) ^ 2;
130-
131-
arcsin(f(x))' = f(x)' / sqrt(1 - f(x) ^ 2);
132-
arccos(f(x))' = -f(x)' / sqrt(1 - f(x) ^ 2);
133-
arctan(f(x))' = f(x)' / (1 + f(x) ^ 2);
134-
arccot(f(x))' = -f(x)' / (1 + f(x) ^ 2);
135-
128+
asin(f(x))' = f(x)' / sqrt(1 - f(x) ^ 2);
129+
acos(f(x))' = -f(x)' / sqrt(1 - f(x) ^ 2);
130+
atan(f(x))' = f(x)' / (1 + f(x) ^ 2);
131+
acot(f(x))' = -f(x)' / (1 + f(x) ^ 2);
136132
sinh(f(x))' = f(x)' * cosh(x);
137133
cosh(f(x))' = f(x)' * sinh(x);
138-
arcsinh(f(x))' = f(x)' / sqrt(f(x) ^ 2 + 1);
139-
arcosh(f(x))' = f(x)' / sqrt(f(x) ^ 2 - 1);
140-
134+
asinh(f(x))' = f(x)' / sqrt(f(x) ^ 2 + 1);
135+
acosh(f(x))' = f(x)' / sqrt(f(x) ^ 2 - 1);
141136
ln(f(x))' = f(x)' / f(x);
142-
log(f(x), g(x))' = g'(x)/(g(x)*ln(f(x))) - (f'(x)*ln(g(x)))/(f(x)*ln(f(x))^2);
143-
</value>
137+
log(f(x), g(x))' = (ln(f(x)) * g(x)' / g(x) - f(x)' * ln(g(x)) / f(x)) / ln(f(x)) ^ 2;
138+
abs(f(x))' = 1;
139+
sgn(f(x))' = 0;
140+
trunc(f(x))' = 0;
141+
round(f(x))' = 0;</value>
144142
</data>
145143
<metadata name="clnPos.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
146144
<value>True</value>
@@ -152,6 +150,6 @@ log(f(x), g(x))' = g'(x)/(g(x)*ln(f(x))) - (f'(x)*ln(g(x)))/(f(x)*ln(f(x))^2);
152150
<value>17, 17</value>
153151
</metadata>
154152
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
155-
<value>124</value>
153+
<value>132</value>
156154
</metadata>
157155
</root>

MathFunctions.v11.suo

1 KB
Binary file not shown.

0 commit comments

Comments
 (0)