コード例 #1
0
ファイル: GameUtil.cs プロジェクト: wooddice/PKHeX
 /// <summary>
 /// Gets the Generation the <see cref="GameVersion"/> belongs to.
 /// </summary>
 /// <param name="game">Game to retrieve the generation for</param>
 /// <returns>Generation ID</returns>
 public static int GetGeneration(this GameVersion game)
 {
     if (Gen1.Contains(game))
     {
         return(1);
     }
     if (Gen2.Contains(game))
     {
         return(2);
     }
     if (Gen3.Contains(game))
     {
         return(3);
     }
     if (Gen4.Contains(game))
     {
         return(4);
     }
     if (Gen5.Contains(game))
     {
         return(5);
     }
     if (Gen6.Contains(game))
     {
         return(6);
     }
     if (Gen7.Contains(game))
     {
         return(7);
     }
     return(-1);
 }
コード例 #2
0
    public static void goGen4()
    {
        Gen4 <int> gen4 = new Gen4 <int>();

        gen4.t1 = 5;

        Console.WriteLine("Gen4: FAIL");
    }
コード例 #3
0
    public static void TestMain()
    {
        Gen4 <A, B> ab = new Gen4 <A, B>();
        Gen4 <A, A> aa = new Gen4 <A, A>();

        XY <int>    xy  = new XY <int>(11, 22);
        XY <double> xyD = new XY <double>(3.4, 4.3);

        System.Console.WriteLine(xy.x + " " + xy.y);
        System.Console.WriteLine(xyD.x + " " + xyD.y);

        Gen2 <string, int> gen2 = new Gen2 <string, int>("New value: ", 99);

        System.Console.WriteLine(gen2.GetObj() + " " + gen2.GetObj2());
    }
コード例 #4
0
ファイル: GameUtil.cs プロジェクト: wooddice/PKHeX
 /// <summary>
 /// Gets the Generation the <see cref="GameVersion"/> belongs to.
 /// </summary>
 /// <param name="game">Game to retrieve the generation for</param>
 /// <returns>Generation ID</returns>
 public static int GetMaxSpeciesID(this GameVersion game)
 {
     if (Gen1.Contains(game))
     {
         return(Legal.MaxSpeciesID_1);
     }
     if (Gen2.Contains(game))
     {
         return(Legal.MaxSpeciesID_2);
     }
     if (Gen3.Contains(game))
     {
         return(Legal.MaxSpeciesID_3);
     }
     if (Gen4.Contains(game))
     {
         return(Legal.MaxSpeciesID_4);
     }
     if (Gen5.Contains(game))
     {
         return(Legal.MaxSpeciesID_5);
     }
     if (Gen6.Contains(game))
     {
         return(Legal.MaxSpeciesID_6);
     }
     if (Gen7.Contains(game))
     {
         if (SM.Contains(game))
         {
             return(Legal.MaxSpeciesID_7);
         }
         if (USUM.Contains(game))
         {
             return(Legal.MaxSpeciesID_7_USUM);
         }
         if (GG.Contains(game))
         {
             return(Legal.MaxSpeciesID_7b);
         }
         return(Legal.MaxSpeciesID_7_USUM);
     }
     return(-1);
 }
コード例 #5
0
ファイル: GameUtil.cs プロジェクト: wooddice/pkNX
 /// <summary>
 /// Gets the Generation the <see cref="GameVersion"/> belongs to.
 /// </summary>
 /// <param name="game">Game to retrieve the generation for</param>
 /// <returns>Generation ID</returns>
 public static int GetMaxSpeciesID(this GameVersion game)
 {
     if (Gen1.Contains(game))
     {
         return(151);
     }
     if (Gen2.Contains(game))
     {
         return(251);
     }
     if (Gen3.Contains(game))
     {
         return(384);
     }
     if (Gen4.Contains(game))
     {
         return(493);
     }
     if (Gen5.Contains(game))
     {
         return(649);
     }
     if (Gen6.Contains(game))
     {
         return(Legal.MaxSpeciesID_6);
     }
     if (Gen7.Contains(game))
     {
         if (SM.Contains(game))
         {
             return(802);
         }
         if (USUM.Contains(game))
         {
             return(807);
         }
         return(Legal.MaxSpeciesID_7_GG);
     }
     return(-1);
 }
コード例 #6
0
        public void CreateDifferentPartial()
        {
            var _ = AbstractCallable._;

            Helper.RunWithMultipleSimulators((s) =>
            {
                {
                    var gen     = new GenericCallable(s, typeof(Gen1 <,>));
                    var partial = gen.Partial(_);
                    Assert.Equal(typeof(GenericPartial), partial.GetType());
                }

                {
                    var closed  = new Gen1 <long, bool>(s);
                    var partial = closed.Partial <ICallable>(_);
                    Assert.Equal(typeof(OperationPartial <(long, bool), (long, bool), bool>), partial.GetType());
                }

                {
                    var closed  = new Gen1 <(long, long), bool>(s);
                    var partial = closed.Partial <ICallable>(((3L, _), true));
                    Assert.Equal(typeof(OperationPartial <long, ((long, long), bool), bool>), partial.GetType());
                }

                {
                    var x       = s.Get <IUnitary <Qubit>, Intrinsic.X>();
                    var closed  = new Gen1 <(long, (IUnitary, Qubit, Result)), bool>(s);
                    var partial = closed.Partial <ICallable>(((_, (x, _, _)), true));
                    Assert.Equal(typeof(OperationPartial <(long, (Qubit, Result)), ((long, (IUnitary, Qubit, Result)), bool), bool>), partial.GetType());
                }

                {
                    var x       = s.Get <IUnitary <Qubit>, Intrinsic.X>();
                    var closed  = new Gen1 <(long, (IUnitary, Qubit, Result)), bool>(s) as ICallable <((long, (IUnitary, Qubit, Result)), bool), bool>;
                    var partial = closed.Partial(((_, (x, _, _)), false));
                    Assert.Equal(typeof(OperationPartial <(long, (Qubit, Result)), ((long, (IUnitary, Qubit, Result)), bool), bool>), partial.GetType());
                }

                {
                    var closed  = new Gen2 <(long, bool, Result), IUnitary>(s);
                    var partial = closed.Partial <IAdjointable>(((_, true, _), 3L, _));
                    Assert.Equal(typeof(OperationPartial <((long, Result), IUnitary), ((long, bool, Result), long, IUnitary), QVoid>), partial.GetType());
                }

                {
                    var closed  = new Gen2 <bool, Result>(s) as IAdjointable <(bool, long, Result)>;
                    var partial = closed.Partial((_, 3L, Result.Zero));
                    Assert.Equal(typeof(OperationPartial <bool, (bool, long, Result), QVoid>), partial.GetType());
                }

                {
                    var closed  = new Gen4 <bool, bool>(s) as IUnitary <(Result, (bool, bool), Result)>;
                    var partial = closed.Controlled.Partial((_, (_, (true, _), Result.Zero)));
                    Assert.Equal(typeof(OperationPartial <(IQArray <Qubit>, (Result, bool)), (IQArray <Qubit>, (Result, (bool, bool), Result)), QVoid>), partial.GetType());
                }

                {
                    var closed  = new Gen4 <bool, bool>(s) as IControllable <(Result, (bool, bool), Result)>;
                    var partial = closed.Controlled.Partial((_, (_, (true, _), Result.Zero)));
                    Assert.Equal(typeof(OperationPartial <(IQArray <Qubit>, (Result, bool)), (IQArray <Qubit>, (Result, (bool, bool), Result)), QVoid>), partial.GetType());
                }

                {
                    var closed  = new Gen2 <bool, Result>(s) as IAdjointable;
                    var partial = closed.Partial((_, 3L, Result.Zero));
                    Assert.Equal(typeof(OperationPartial <bool, (bool, long, Result), QVoid>), partial.GetType());
                }

                {
                    var closed  = new Gen4 <bool, bool>(s) as IUnitary;
                    var partial = closed.Adjoint.Controlled.Partial((_, (_, (true, _), Result.Zero)));
                    Assert.Equal(typeof(OperationPartial <(IQArray <Qubit>, (Result, bool)), (IQArray <Qubit>, (Result, (bool, bool), Result)), QVoid>), partial.GetType());
                }

                {
                    var closed  = new Gen4 <bool, bool>(s) as IControllable;
                    var partial = closed.Controlled.Partial((_, (_, (true, _), Result.Zero)));
                    Assert.Equal(typeof(OperationPartial <(IQArray <Qubit>, (Result, bool)), (IQArray <Qubit>, (Result, (bool, bool), Result)), QVoid>), partial.GetType());
                }
            });
        }