Ignore:
Timestamp:
Sep 10, 2009, 11:49:24 AM (12 years ago)
Author:
Sven Rech
Message:

fixed BigNumberOperation.cs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/BigNumber/BigNumberOperation.cs

    r495 r496  
    323323        public void Execute()
    324324        {
    325             if (input1 is object && input2 is object && (!(Mod is object)))
    326             {
    327                 switch (settings.Operat)
    328                 {
    329                     case 0:
    330                         {
    331                             Output = Input1 + Input2;
    332                             ProgressChanged(1.0, 1.0);
    333                             break;
    334                         }
    335                     case 1:
    336                         {
    337                             Output = Input1 - Input2;
    338                             ProgressChanged(1.0, 1.0);
    339                             break;
    340                         }
    341                     case 2:
    342                         {
    343                             Output = Input1 * Input2;
    344                             ProgressChanged(1.0, 1.0);
    345                             break;
    346                         }
    347                     case 3:
    348                         {
    349                             Output = Input1 / Input2;
    350                             ProgressChanged(1.0, 1.0);
    351                             break;
    352                         }
    353                     case 4:
    354                         {
    355                             Output = Input1 ^ Input2;
    356                             ProgressChanged(1.0, 1.0);
    357                             break;
    358                         }
    359                 }
    360             }
    361325            if(input1 is object && input2 is object && Mod is object)
    362326            {
     
    365329                try
    366330                {
    367                     if (Mod is object)
     331                    switch (settings.Operat)
    368332                    {
    369                         Output = (Input1 * Input2) % Mod;
    370                         settings.ChangeIcon(5);
     333                        case 0:
     334                            if (Mod is object)
     335                                Output = (Input1 + Input2) % Mod;
     336                            else
     337                                Output = Input1 + Input2;
     338                            break;
     339                        case 1:
     340                            if (Mod is object)
     341                                Output = (Input1 - Input2) % Mod;
     342                            else
     343                                Output = Input1 - Input2;
     344                            break;
     345                        case 2:
     346                            if (Mod is object)
     347                                Output = (Input1 * Input2) % Mod;
     348                            else
     349                                Output = Input1 * Input2;
     350                            break;
     351                        case 3:
     352                            if (Mod is object)
     353                                Output = (Input1 / Input2) % Mod;
     354                            else
     355                                Output = Input1 / Input2;
     356                            break;
     357                        case 4:
     358                            if (Mod is object)
     359                                Output = Input1.modPow(Input2, Mod);
     360                            else
     361                            {
     362                                BigInteger tmp = 1;
     363                                for (BigInteger i = 0; i < Input2; i++)
     364                                    tmp *= Input1;
     365                                Output = tmp;
     366                            }
     367                            break;
    371368                    }
    372                     else
    373                         Output = Input1 * Input2;
    374369                }
    375370                catch (Exception)
    376371                {
    377372
    378                     GuiLogMessage("Error multiplying big numbers.", NotificationLevel.Error);
     373                    GuiLogMessage("Error operating big numbers.", NotificationLevel.Error);
    379374                    return;
    380375                }
Note: See TracChangeset for help on using the changeset viewer.