Example #1
0
 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));
 }
Example #2
0
    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();
    }
Example #3
0
        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
        }
Example #4
0
 /// <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) } ));
 }
Example #5
0
        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
        }