Bug:Fix file validation issue
[vnfsdk/refrepo.git] / vnfmarket / src / main / webapp / vnfmarket / node_modules / socket.io-client / lib / vendor / web-socket-js / flash-src / com / hurlant / math / ClassicReduction.as
1 package com.hurlant.math\r
2 {\r
3         use namespace bi_internal;\r
4         \r
5         /**\r
6          * Modular reduction using "classic" algorithm\r
7          */\r
8         internal class ClassicReduction implements IReduction\r
9         {\r
10                 private var m:BigInteger;\r
11                 public function ClassicReduction(m:BigInteger) {\r
12                         this.m = m;\r
13                 }\r
14                 public function convert(x:BigInteger):BigInteger {\r
15                         if (x.s<0 || x.compareTo(m)>=0) {\r
16                                 return x.mod(m);\r
17                         }\r
18                         return x;\r
19                 }\r
20                 public function revert(x:BigInteger):BigInteger {\r
21                         return x;\r
22                 }\r
23                 public function reduce(x:BigInteger):void {\r
24                         x.divRemTo(m, null,x);\r
25                 }\r
26                 public function mulTo(x:BigInteger, y:BigInteger, r:BigInteger):void {\r
27                         x.multiplyTo(y,r);\r
28                         reduce(r);\r
29                 }\r
30                 public function sqrTo(x:BigInteger, r:BigInteger):void {\r
31                         x.squareTo(r);\r
32                         reduce(r);\r
33                 }\r
34         }\r
35 }