public void IsTypeCorrect() { Assert.AreEqual(Simple.GetType(), typeof(SimpleDummyService)); Assert.AreEqual(Complex.GetType(), typeof(ComplexDummyService)); Assert.AreEqual(Value.GetType(), typeof(ValueDependencyDummy)); Assert.AreEqual(Generic.GetType(), typeof(GenericSimpleDummy <int>)); Assert.AreEqual(Singleton.GetType(), typeof(SingletonDummy)); }
static void Main(string[] args) { Complex x = new Complex(-1, 2); Console.WriteLine(String.Format("x: {0} ({1})", x, x.GetType())); Console.WriteLine(String.Format("real: {0}", x.Real)); Console.WriteLine(String.Format("imaginary: {0}", x.Imaginary)); Console.WriteLine(String.Format("magnitude: {0}", x.Magnitude)); Console.WriteLine(String.Format("phase angle: {0}", x.Phase)); Console.WriteLine(); double magnitude = 2.236070; double phase_angle = 2.034440; x = Complex.FromPolarCoordinates(magnitude, phase_angle); Console.WriteLine(String.Format("x (constructed from magnitude and angle): {0}", x)); Console.WriteLine(); Complex x1 = new Complex(2, 3); Complex x2 = new Complex(4, -1); Complex x3; x3 = Complex.Add(x1, x2); Console.WriteLine(String.Format("{0} + {1} = {2}", x1, x2, x3)); x3 = Complex.Subtract(x1, x2); Console.WriteLine(String.Format("{0} - {1} = {2}", x1, x2, x3)); x3 = Complex.Multiply(x1, x2); Console.WriteLine(String.Format("{0} * {1} = {2}", x1, x2, x3)); x3 = Complex.Divide(x1, x2); Console.WriteLine(String.Format("{0} / {1} = {2}", x1, x2, x3)); x3 = Complex.Pow(x1, 2); Console.WriteLine(String.Format("{0}^2 = {1}", x1, x3)); x3 = Complex.Sqrt(x2); Console.WriteLine(String.Format("√{0} = {1}", x2, x3)); Console.WriteLine(); }
public static List<Note> NotesFromFile(string[] args) { if (args.Length < 3) throw new ArgumentException("You need three arguments dawg "); var path = string.Empty; if (args[0].Length != 0) { path = args[0]; SAMPLE_COUNT = int.Parse(args[1]); LOWER_THRESHOLD = double.Parse(args[2]); } else { path = @"C:\Users\zhadowoflight\Desktop\Studies\COEN_9\y-hack\lotr.wav"; //var path = @"C:\Users\zhadowoflight\Desktop\Studies\COEN_9\y-hack\fureliseshort.wav"; //var path = @"C:\Users\zhadowoflight\Desktop\Studies\COEN_9\y-hack\furelise2.wav"; //var path = @"C:\Users\zhadowoflight\Desktop\Studies\COEN_9\y-hack\furs.wav"; //toats shit //var path = @"C:\Users\zhadowoflight\Desktop\Studies\COEN_9\y-hack\all.wav"; } //double[] arr = { 0, 10, 100, 1000, 10000, 400, 440, 32.703 }; //foreach (double d in arr) //{ // string actual = FrequencyToNote(d).ToString(); //} // This launches the Mathematica kernel: IKernelLink ml = MathLinkFactory.CreateKernelLink(); var myComplexType = new Complex(1,2); ml.ComplexType = myComplexType.GetType(); ml.WaitAndDiscardAnswer(); // Discard the initial InputNamePacket the kernel will send when launched. var data = GetDataFromWav(ml, path); data = MovingAverageSmooth(data); var rate = GetSamplingRateFromWav(ml, path); List<double[]> MajorFrequencies = new List<double[]> (); for (var ii = 0; ii < data.Length + SAMPLE_COUNT; ii += SAMPLE_COUNT) { var temp_data = new double[SAMPLE_COUNT]; try { Array.Copy(data, ii, temp_data, 0, SAMPLE_COUNT); } catch (ArgumentException) { if (ii + SAMPLE_COUNT < data.Length) Console.WriteLine("Not supposed to happen!!"); break; } var fft_data = GetMagnitudeOfComplexArray( GetFourierTransform(ml, temp_data) ); fft_data = MovingAverageSmooth(fft_data); MajorFrequencies.Add(GetMajorFrequenciesFromTransform( fft_data , rate )); #if DEBUG // File.WriteAllText(string.Format("test{0}.txt",ii),string.Join("\n",fft_data)); #endif } List<Note[]> MajorNotes = GetMajorNotesFromFrequencies(MajorFrequencies); WriteResults(MajorNotes); WriteResults(MajorFrequencies); var a = MakeMusicSheet(MajorNotes); Console.WriteLine("All done"); MusicSheetGenerator.generateMusicSheet(a); return a; // 'a' is the most descriptive variable name.... EVER }
/// <summary> /// Emit the code to create a complex value. /// </summary> /// <param name="value">Complex value</param> public void LoadComplex(Complex value) { LoadDouble(value.Real); LoadDouble(value.Imaginary); Emit0(OpCodes.Newobj, value.GetType().GetConstructor(new [] { typeof(double), typeof(double) } )); }
public static List <Note> NotesFromFile(string[] args) { if (args.Length < 3) { throw new ArgumentException("You need three arguments dawg "); } var path = string.Empty; if (args[0].Length != 0) { path = args[0]; SAMPLE_COUNT = int.Parse(args[1]); LOWER_THRESHOLD = double.Parse(args[2]); } else { path = @"C:\Users\zhadowoflight\Desktop\Studies\COEN_9\y-hack\lotr.wav"; //var path = @"C:\Users\zhadowoflight\Desktop\Studies\COEN_9\y-hack\fureliseshort.wav"; //var path = @"C:\Users\zhadowoflight\Desktop\Studies\COEN_9\y-hack\furelise2.wav"; //var path = @"C:\Users\zhadowoflight\Desktop\Studies\COEN_9\y-hack\furs.wav"; //toats shit //var path = @"C:\Users\zhadowoflight\Desktop\Studies\COEN_9\y-hack\all.wav"; } //double[] arr = { 0, 10, 100, 1000, 10000, 400, 440, 32.703 }; //foreach (double d in arr) //{ // string actual = FrequencyToNote(d).ToString(); //} // This launches the Mathematica kernel: IKernelLink ml = MathLinkFactory.CreateKernelLink(); var myComplexType = new Complex(1, 2); ml.ComplexType = myComplexType.GetType(); ml.WaitAndDiscardAnswer(); // Discard the initial InputNamePacket the kernel will send when launched. var data = GetDataFromWav(ml, path); data = MovingAverageSmooth(data); var rate = GetSamplingRateFromWav(ml, path); List <double[]> MajorFrequencies = new List <double[]> (); for (var ii = 0; ii < data.Length + SAMPLE_COUNT; ii += SAMPLE_COUNT) { var temp_data = new double[SAMPLE_COUNT]; try { Array.Copy(data, ii, temp_data, 0, SAMPLE_COUNT); } catch (ArgumentException) { if (ii + SAMPLE_COUNT < data.Length) { Console.WriteLine("Not supposed to happen!!"); } break; } var fft_data = GetMagnitudeOfComplexArray(GetFourierTransform(ml, temp_data)); fft_data = MovingAverageSmooth(fft_data); MajorFrequencies.Add(GetMajorFrequenciesFromTransform(fft_data, rate)); #if DEBUG // File.WriteAllText(string.Format("test{0}.txt",ii),string.Join("\n",fft_data)); #endif } List <Note[]> MajorNotes = GetMajorNotesFromFrequencies(MajorFrequencies); WriteResults(MajorNotes); WriteResults(MajorFrequencies); var a = MakeMusicSheet(MajorNotes); Console.WriteLine("All done"); MusicSheetGenerator.generateMusicSheet(a); return(a); // 'a' is the most descriptive variable name.... EVER }