public void CotInCotdDoublesAsInputs() { var function = new Cot(); var input1 = 20; var input2 = 100; var input3 = 1; var input4 = 1.0; var input5 = 1.5; var input6 = 1000; var result1 = function.Execute(FunctionsHelper.CreateArgs(input1), this.ParsingContext); var result2 = function.Execute(FunctionsHelper.CreateArgs(input2), this.ParsingContext); var result3 = function.Execute(FunctionsHelper.CreateArgs(input3), this.ParsingContext); var result4 = function.Execute(FunctionsHelper.CreateArgs(input4), this.ParsingContext); var result5 = function.Execute(FunctionsHelper.CreateArgs(input5), this.ParsingContext); var result6 = function.Execute(FunctionsHelper.CreateArgs(input6), this.ParsingContext); Assert.AreEqual(0.446995109, System.Math.Round(result1.ResultNumeric, 9)); Assert.AreEqual(-1.702956919, System.Math.Round(result2.ResultNumeric, 9)); Assert.AreEqual(0.642092616, System.Math.Round(result3.ResultNumeric, 9)); Assert.AreEqual(0.642092616, System.Math.Round(result4.ResultNumeric, 9)); Assert.AreEqual(0.070914844, System.Math.Round(result5.ResultNumeric, 9)); Assert.AreEqual(0.680122132, System.Math.Round(result6.ResultNumeric, 9)); }
public void CotHandlesNormal12HourClockInputs() { var function = new Cot(); var input1 = "00:00:00 AM"; var input2 = "00:01:32 AM"; var input3 = "12:00 PM"; var input4 = "12:00 AM"; var input5 = "1:00 PM"; var input6 = "1:10:32 am"; var input7 = "3:42:32 pm"; var result1 = function.Execute(FunctionsHelper.CreateArgs(input1), this.ParsingContext); var result2 = function.Execute(FunctionsHelper.CreateArgs(input2), this.ParsingContext); var result3 = function.Execute(FunctionsHelper.CreateArgs(input3), this.ParsingContext); var result4 = function.Execute(FunctionsHelper.CreateArgs(input4), this.ParsingContext); var result5 = function.Execute(FunctionsHelper.CreateArgs(input5), this.ParsingContext); var result6 = function.Execute(FunctionsHelper.CreateArgs(input6), this.ParsingContext); var result7 = function.Execute(FunctionsHelper.CreateArgs(input7), this.ParsingContext); Assert.AreEqual(eErrorType.Div0, ((ExcelErrorValue)result1.Result).Type); Assert.AreEqual(939.1300798, System.Math.Round(result2.ResultNumeric, 7)); Assert.AreEqual(1.830487722, System.Math.Round(result3.ResultNumeric, 9)); Assert.AreEqual(eErrorType.Div0, ((ExcelErrorValue)result1.Result).Type); Assert.AreEqual(1.66196492, System.Math.Round(result5.ResultNumeric, 9)); Assert.AreEqual(20.39954924, System.Math.Round(result6.ResultNumeric, 8)); Assert.AreEqual(1.303121308, System.Math.Round(result7.ResultNumeric, 9)); }
public void CotZero() { var exp = new Cot(zero); var expected = new Number(MathExtensions.Cot(0)); SimpleTest(exp, expected); }
public void CloneTest() { var exp = new Cot(new Number(1)); var clone = exp.Clone(); Assert.Equal(exp, clone); }
public void CotArccot() { var exp = new Cot(new Arccot(Variable.X)); var expected = Variable.X; SimpleTest(exp, expected); }
public void CotTestInputsWithDatesThatHaveSlashesInThem() { var function = new Cot(); var input1 = "1/17/2011 2:00 am"; var input2 = "17/01/2011 2:00 AM"; var input3 = "17/Jan/2011 2:00 AM"; var input4 = "17/January/2011 2:00 am"; var input5 = "1/17/2011 2:00:00 am"; var input6 = "17/01/2011 2:00:00 AM"; var input7 = "17/Jan/2011 2:00:00 AM"; var input8 = "17/January/2011 2:00:00 am"; var result1 = function.Execute(FunctionsHelper.CreateArgs(input1), this.ParsingContext); var result2 = function.Execute(FunctionsHelper.CreateArgs(input2), this.ParsingContext); var result3 = function.Execute(FunctionsHelper.CreateArgs(input3), this.ParsingContext); var result4 = function.Execute(FunctionsHelper.CreateArgs(input4), this.ParsingContext); var result5 = function.Execute(FunctionsHelper.CreateArgs(input5), this.ParsingContext); var result6 = function.Execute(FunctionsHelper.CreateArgs(input6), this.ParsingContext); var result7 = function.Execute(FunctionsHelper.CreateArgs(input7), this.ParsingContext); var result8 = function.Execute(FunctionsHelper.CreateArgs(input8), this.ParsingContext); Assert.AreEqual(-0.615004407, System.Math.Round(result1.ResultNumeric, 9)); Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)result2.Result).Type); Assert.AreEqual(-0.615004407, System.Math.Round(result3.ResultNumeric, 9)); Assert.AreEqual(-0.615004407, System.Math.Round(result4.ResultNumeric, 9)); Assert.AreEqual(-0.615004407, System.Math.Round(result5.ResultNumeric, 9)); Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)result6.Result).Type); Assert.AreEqual(-0.615004407, System.Math.Round(result7.ResultNumeric, 9)); Assert.AreEqual(-0.615004407, System.Math.Round(result8.ResultNumeric, 9)); }
public void CotArccot() { var exp = new Cot(new Arccot(new Variable("x"))); var expected = new Variable("x"); SimpleTest(exp, expected); }
public void ExecuteComplexNumberTest() { var complex = new Complex(3, 2); var exp = new Cot(new ComplexNumber(complex)); var result = (Complex)exp.Execute(); Assert.Equal(ComplexExtensions.Cot(complex), result); Assert.Equal(-0.010604783470337083, result.Real, 14); Assert.Equal(-1.0357466377649953, result.Imaginary, 14); }
/// <summary> /// Analyzes the specified expression. /// </summary> /// <param name="exp">The expression.</param> /// <returns> /// The result of analysis. /// </returns> public override IExpression Analyze(Csc exp) { var unary = new UnaryMinus(exp.Argument.Clone().Analyze(this)); var cot = new Cot(exp.Argument.Clone()); var csc = new Csc(exp.Argument.Clone()); var mul1 = new Mul(cot, csc); var mul2 = new Mul(unary, mul1); return(mul2); }
public async Task <IActionResult> Post([FromBody] Cot value) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } await _cotRepository.InsertAsync(value); return(Created($"cot/{value.CotId}", value)); }
public Thap() { this.Width = 260; this.Height = 350; this.BackColor = Color.Black; this.CacDia = new Dia[0]; this.CayCot = new Cot(300); this.CayCot.Location = new Point(120, 0); this.Controls.Add(this.CayCot); }
private void BuildCot() { // TODO: Do not create an object to just access its property. // Making cost static would prevent changing it between different derived types???? var cot = new Cot(); if (CurrentLocation.Inventory.GetItemCount <Wood>() >= cot.WoodCost) { SoundController.PlayEffect(SoundEffects.Build); CurrentLocation.Inventory.RemoveItem <Wood>(cot.WoodCost); CurrentLocation.Construction.AddBuilding <Cot>(); } }
public void CotHandlesMilitaryTimesPast2400() { var function = new Cot(); var input1 = "01:00"; var input2 = "02:00"; var result1 = function.Execute(FunctionsHelper.CreateArgs(input1), this.ParsingContext); var result2 = function.Execute(FunctionsHelper.CreateArgs(input2), this.ParsingContext); Assert.AreEqual(23.9861095, System.Math.Round(result1.ResultNumeric, 8)); Assert.AreEqual(11.97220935, System.Math.Round(result2.ResultNumeric, 8)); }
public void CotHandlesTrueOrFalse() { var function = new Cot(); var input1 = true; var input2 = false; var result1 = function.Execute(FunctionsHelper.CreateArgs(input1), this.ParsingContext); var result2 = function.Execute(FunctionsHelper.CreateArgs(input2), this.ParsingContext); Assert.AreEqual(0.642092616, System.Math.Round(result1.ResultNumeric, 9)); Assert.AreEqual(eErrorType.Div0, ((ExcelErrorValue)result2.Result).Type); }
public void CotHandlesInputDatesAreSeperatedByDashes() { var function = new Cot(); var input1 = "1-17-2017 2:00"; var input2 = "1-17-2017 2:00 am"; var result1 = function.Execute(FunctionsHelper.CreateArgs(input1), this.ParsingContext); var result2 = function.Execute(FunctionsHelper.CreateArgs(input2), this.ParsingContext); Assert.AreEqual(0.287871627, System.Math.Round(result1.ResultNumeric, 9)); Assert.AreEqual(0.287871627, System.Math.Round(result2.ResultNumeric, 9)); }
/// <summary> /// Analyzes the specified expression. /// </summary> /// <param name="exp">The expression.</param> /// <returns> /// The result of analysis. /// </returns> public override IExpression Analyze(Cot exp) { if (!Helpers.HasVariable(exp, Variable)) { return(new Number(0)); } var sine = new Sin(exp.Argument.Clone()); var involution = new Pow(sine, new Number(2)); var division = new Div(exp.Argument.Clone().Analyze(this), involution); var unMinus = new UnaryMinus(division); return(unMinus); }
public void CotHandlesMilitaryTime() { var function = new Cot(); var input1 = "00:00"; var input2 = "00:01"; var input3 = "23:59:59"; var result1 = function.Execute(FunctionsHelper.CreateArgs(input1), this.ParsingContext); var result2 = function.Execute(FunctionsHelper.CreateArgs(input2), this.ParsingContext); var result3 = function.Execute(FunctionsHelper.CreateArgs(input3), this.ParsingContext); Assert.AreEqual(eErrorType.Div0, ((ExcelErrorValue)result1.Result).Type); Assert.AreEqual(1439.999768519, System.Math.Round(result2.ResultNumeric, 9)); Assert.AreEqual(0.642108962, System.Math.Round(result3.ResultNumeric, 9)); }
public async Task <IActionResult> Put([FromBody] Cot value, [FromRoute] int id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != value.CotId) { return(BadRequest()); } await _cotRepository.UpdateAsync(value); return(Ok(value)); }
public static void cot_values_test() //****************************************************************************80 // // Purpose: // // COT_VALUES_TEST tests COT_VALUES. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 22 January 2015 // // Author: // // John Burkardt // { double fx = 0; double x = 0; Console.WriteLine(""); Console.WriteLine("COT_VALUES_TEST:"); Console.WriteLine(" COT_VALUES stores values of the cotangent function."); Console.WriteLine(""); Console.WriteLine(" X FX"); Console.WriteLine(""); int n_data = 0; for (;;) { Cot.cot_values(ref n_data, ref x, ref fx); if (n_data == 0) { break; } Console.WriteLine(" " + x.ToString("0.################").PadLeft(24) + " " + fx.ToString("0.################").PadLeft(24) + ""); } }
public void CotHandlesInputsWithDatesInTheFormMonthDateCommaYearTime() { var function = new Cot(); var input1 = "Jan 17, 2011 2:00 am"; var input2 = "June 5, 2017 11:00 pm"; var input3 = "Jan 17, 2011 2:00:00 am"; var input4 = "June 5, 2017 11:00:00 pm"; var result1 = function.Execute(FunctionsHelper.CreateArgs(input1), this.ParsingContext); var result2 = function.Execute(FunctionsHelper.CreateArgs(input2), this.ParsingContext); var result3 = function.Execute(FunctionsHelper.CreateArgs(input3), this.ParsingContext); var result4 = function.Execute(FunctionsHelper.CreateArgs(input4), this.ParsingContext); Assert.AreEqual(-0.615004407, System.Math.Round(result1.ResultNumeric, 9)); Assert.AreEqual(-4.781539727, System.Math.Round(result2.ResultNumeric, 9)); Assert.AreEqual(-0.615004407, System.Math.Round(result3.ResultNumeric, 9)); Assert.AreEqual(-4.781539727, System.Math.Round(result4.ResultNumeric, 9)); }
public void CotHandlesDateTimeInputs() { var function = new Cot(); var input1 = "1/17/2011 2:00"; var input2 = "1/17/2011 2:00 AM"; var input3 = "17/1/2011 2:00 AM"; var input4 = "17/Jan/2011 2:00 AM"; var result1 = function.Execute(FunctionsHelper.CreateArgs(input1), this.ParsingContext); var result2 = function.Execute(FunctionsHelper.CreateArgs(input2), this.ParsingContext); var result3 = function.Execute(FunctionsHelper.CreateArgs(input3), this.ParsingContext); var result4 = function.Execute(FunctionsHelper.CreateArgs(input4), this.ParsingContext); Assert.AreEqual(-0.615004407, System.Math.Round(result1.ResultNumeric, 9)); Assert.AreEqual(-0.615004407, System.Math.Round(result1.ResultNumeric, 9)); Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)result3.Result).Type); Assert.AreEqual(-0.615004407, System.Math.Round(result1.ResultNumeric, 9)); }
public void CotTestMilitaryTimeAndNormalTimeComparisions() { var function = new Cot(); var input1 = "16:30"; var input2 = "04:30 pm"; var input3 = "02:30"; var input4 = "2:30 am"; var result1 = function.Execute(FunctionsHelper.CreateArgs(input1), this.ParsingContext); var result2 = function.Execute(FunctionsHelper.CreateArgs(input2), this.ParsingContext); var result3 = function.Execute(FunctionsHelper.CreateArgs(input3), this.ParsingContext); var result4 = function.Execute(FunctionsHelper.CreateArgs(input4), this.ParsingContext); Assert.AreEqual(1.217816458, System.Math.Round(result1.ResultNumeric, 9)); Assert.AreEqual(1.217816458, System.Math.Round(result2.ResultNumeric, 9)); Assert.AreEqual(9.565252634, System.Math.Round(result3.ResultNumeric, 9)); Assert.AreEqual(9.565252634, System.Math.Round(result4.ResultNumeric, 9)); }
public void CotIsGivenAStringAsInput() { var function = new Cot(); var input1 = "string"; var input2 = "0"; var input3 = "1"; var input4 = "1.5"; var result1 = function.Execute(FunctionsHelper.CreateArgs(input1), this.ParsingContext); var result2 = function.Execute(FunctionsHelper.CreateArgs(input2), this.ParsingContext); var result3 = function.Execute(FunctionsHelper.CreateArgs(input3), this.ParsingContext); var result4 = function.Execute(FunctionsHelper.CreateArgs(input4), this.ParsingContext); Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)result1.Result).Type); Assert.AreEqual(eErrorType.Div0, ((ExcelErrorValue)result2.Result).Type); Assert.AreEqual(0.642092616, result3.ResultNumeric, .00001); Assert.AreEqual(0.070914844, result4.ResultNumeric, .00001); }
public void CotHandlesPi() { var function = new Cot(); var Pi = System.Math.PI; var input1 = Pi; var input2 = Pi / 2; var input3 = 2 * Pi; var input4 = 60 * Pi / 180; var result1 = function.Execute(FunctionsHelper.CreateArgs(input1), this.ParsingContext); var result2 = function.Execute(FunctionsHelper.CreateArgs(input2), this.ParsingContext); var result3 = function.Execute(FunctionsHelper.CreateArgs(input3), this.ParsingContext); var result4 = function.Execute(FunctionsHelper.CreateArgs(input4), this.ParsingContext); //Note: Neither Excel or EPPlus handle Pi perfectly. Both seem to have a small rounding issue that is not a problem if you are aware of it. Assert.AreEqual(-8.16228E+15, System.Math.Round(result2.ResultNumeric, 9), 1.0E+16); Assert.AreEqual(6.12574E-17, System.Math.Round(result2.ResultNumeric, 9), .00001); Assert.AreEqual(-4.08114E+15, System.Math.Round(result3.ResultNumeric, 9), 1.0E+15); Assert.AreEqual(0.577350269, System.Math.Round(result4.ResultNumeric, 9)); }
public void CotHandlesDoublesCorrectly() { var function = new Cot(); var input1 = 0.5; var input2 = 0.25; var input3 = 0.9; var input4 = -0.9; var input5 = ".5"; var result1 = function.Execute(FunctionsHelper.CreateArgs(input1), this.ParsingContext); var result2 = function.Execute(FunctionsHelper.CreateArgs(input2), this.ParsingContext); var result3 = function.Execute(FunctionsHelper.CreateArgs(input3), this.ParsingContext); var result4 = function.Execute(FunctionsHelper.CreateArgs(input4), this.ParsingContext); var result5 = function.Execute(FunctionsHelper.CreateArgs(input5), this.ParsingContext); Assert.AreEqual(1.830487722, System.Math.Round(result1.ResultNumeric, 9)); Assert.AreEqual(3.916317365, System.Math.Round(result2.ResultNumeric, 9)); Assert.AreEqual(0.793551148, System.Math.Round(result3.ResultNumeric, 9)); Assert.AreEqual(-0.793551148, System.Math.Round(result4.ResultNumeric, 9)); Assert.AreEqual(1.830487722, System.Math.Round(result5.ResultNumeric, 9)); }
public void CotIsGivenValuesRanginFromNegative10to10() { var function = new Cot(); var input1 = -10; var input2 = -1; var input3 = 0; var input4 = 1; var input5 = 10; var result1 = function.Execute(FunctionsHelper.CreateArgs(input1), this.ParsingContext); var result2 = function.Execute(FunctionsHelper.CreateArgs(input2), this.ParsingContext); var result3 = function.Execute(FunctionsHelper.CreateArgs(input3), this.ParsingContext); var result4 = function.Execute(FunctionsHelper.CreateArgs(input4), this.ParsingContext); var result5 = function.Execute(FunctionsHelper.CreateArgs(input5), this.ParsingContext); Assert.AreEqual(-1.542351045, result1.ResultNumeric, .00001); Assert.AreEqual(-0.642092616, result2.ResultNumeric, .00001); Assert.AreEqual(eErrorType.Div0, ((ExcelErrorValue)result3.Result).Type); Assert.AreEqual(0.642092616, result4.ResultNumeric, .00001); Assert.AreEqual(1.542351045, result5.ResultNumeric, .00001); }
/// <summary> /// Analyzes the specified expression. /// </summary> /// <param name="exp">The expression.</param> /// <returns> /// The result of analysis. /// </returns> /// <exception cref="System.NotSupportedException">Always.</exception> public virtual TResult Analyze(Cot exp) { throw new NotSupportedException(); }
public void ExecuteGradianTest() { var exp = new Cot(new Number(1)); Assert.Equal(MathExtensions.Cot(1 * Math.PI / 200), exp.Execute(AngleMeasurement.Gradian)); }
public void ExecuteDegreeTest() { var exp = new Cot(new Number(1)); Assert.Equal(MathExtensions.Cot(1 * Math.PI / 180), exp.Execute(AngleMeasurement.Degree)); }
/// <summary> /// Analyzes the specified expression. /// </summary> /// <param name="exp">The expression.</param> /// <returns>The result of analysis.</returns> public string Analyze(Cot exp) { return(ToString(exp, "cot({0})")); }