blob: 55b6915f3f7a12298b22643a6d72a5c92f75e528 [file] [log] [blame]
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1151],{5680:(e,a,t)=>{t.d(a,{xA:()=>i,yg:()=>d});var n=t(6540);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function l(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function p(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?l(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function g(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)t=l[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)t=l[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var y=n.createContext({}),o=function(e){var a=n.useContext(y),t=a;return e&&(t="function"==typeof e?e(a):p(p({},a),e)),t},i=function(e){var a=o(e.components);return n.createElement(y.Provider,{value:a},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},s=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,l=e.originalType,y=e.parentName,i=g(e,["components","mdxType","originalType","parentName"]),m=o(t),s=r,d=m["".concat(y,".").concat(s)]||m[s]||u[s]||l;return t?n.createElement(d,p(p({ref:a},i),{},{components:t})):n.createElement(d,p({ref:a},i))}));function d(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var l=t.length,p=new Array(l);p[0]=s;var g={};for(var y in a)hasOwnProperty.call(a,y)&&(g[y]=a[y]);g.originalType=e,g[m]="string"==typeof e?e:r,p[1]=g;for(var o=2;o<l;o++)p[o]=t[o];return n.createElement.apply(null,p)}return n.createElement.apply(null,t)}s.displayName="MDXCreateElement"},1647:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>i,contentTitle:()=>y,default:()=>d,frontMatter:()=>g,metadata:()=>o,toc:()=>m});var n=t(8168),r=t(8587),l=(t(6540),t(5680)),p=["components"],g={id:"fp24",title:"FP24",sidebar_label:"FP24"},y=void 0,o={unversionedId:"cryptojs/fp24",id:"cryptojs/fp24",title:"FP24",description:"FP24",source:"@site/../docs/cryptojs/fp24.md",sourceDirName:"cryptojs",slug:"/cryptojs/fp24",permalink:"/docs/cryptojs/fp24",draft:!1,tags:[],version:"current",frontMatter:{id:"fp24",title:"FP24",sidebar_label:"FP24"},sidebar:"docs",previous:{title:"FP16",permalink:"/docs/cryptojs/fp16"},next:{title:"FP48",permalink:"/docs/cryptojs/fp48"}},i={},m=[{value:"FP24",id:"fp24",level:2},{value:"new FP24()",id:"new-fp24",level:3},{value:"fP24.reduce()",id:"fp24reduce",level:3},{value:"fP24.norm()",id:"fp24norm",level:3},{value:"fP24.iszilch()",id:"fp24iszilch",level:3},{value:"fP24.isunity()",id:"fp24isunity",level:3},{value:"fP24.cmove(g, d)",id:"fp24cmoveg-d",level:3},{value:"fP24.select()",id:"fp24select",level:3},{value:"fP24.geta()",id:"fp24geta",level:3},{value:"fP24.getb()",id:"fp24getb",level:3},{value:"fP24.getc()",id:"fp24getc",level:3},{value:"fP24.equals(x)",id:"fp24equalsx",level:3},{value:"fP24.copy(x)",id:"fp24copyx",level:3},{value:"fP24.one(x)",id:"fp24onex",level:3},{value:"fP24.zero()",id:"fp24zero",level:3},{value:"fP24.conj()",id:"fp24conj",level:3},{value:"fP24.set(d, e, f)",id:"fp24setd-e-f",level:3},{value:"fP24.seta(c)",id:"fp24setac",level:3},{value:"fP24.usqr()",id:"fp24usqr",level:3},{value:"fP24.sqr()",id:"fp24sqr",level:3},{value:"fP24.mul(y)",id:"fp24muly",level:3},{value:"fP24.smul(y)",id:"fp24smuly",level:3},{value:"fP24.ssmul(y)",id:"fp24ssmuly",level:3},{value:"fP24.inverse()",id:"fp24inverse",level:3},{value:"fP24.frob(f)",id:"fp24frobf",level:3},{value:"fP24.trace()",id:"fp24trace",level:3},{value:"fP24.toString()",id:"fp24tostring",level:3},{value:"fP24.toBytes(w)",id:"fp24tobytesw",level:3},{value:"fP24.pow(e)",id:"fp24powe",level:3},{value:"fP24.pinpow(e, bts)",id:"fp24pinpowe-bts",level:3},{value:"fP24.compow(e, r)",id:"fp24compowe-r",level:3},{value:"FP24.fromBytes(w)",id:"fp24frombytesw",level:3},{value:"FP24.teq()",id:"fp24teq",level:3},{value:"FP24.pow8()",id:"fp24pow8",level:3}],u={toc:m},s="wrapper";function d(e){var a=e.components,t=(0,r.A)(e,p);return(0,l.yg)(s,(0,n.A)({},u,t,{components:a,mdxType:"MDXLayout"}),(0,l.yg)("a",{name:"FP24"}),(0,l.yg)("h2",{id:"fp24"},"FP24"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": global class",(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("ul",null,(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24"},"FP24"),(0,l.yg)("ul",{parentName:"li"},(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#new_FP24_new"},"new FP24()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("em",{parentName:"li"},"instance"),(0,l.yg)("ul",{parentName:"li"},(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+reduce"},".reduce()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+norm"},".norm()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+iszilch"},".iszilch()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+isunity"},".isunity()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+cmove"},".cmove(g, d)")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+select"},".select()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+geta"},".geta()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+getb"},".getb()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+getc"},".getc()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+equals"},".equals(x)")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+copy"},".copy(x)")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+one"},".one(x)")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+zero"},".zero()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+conj"},".conj()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+set"},".set(d, e, f)")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+seta"},".seta(c)")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+usqr"},".usqr()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+sqr"},".sqr()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+mul"},".mul(y)")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+smul"},".smul(y)")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+ssmul"},".ssmul(y)")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+inverse"},".inverse()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+frob"},".frob(f)")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+trace"},".trace()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+toString"},".toString()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+toBytes"},".toBytes(w)")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+pow"},".pow(e)")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+pinpow"},".pinpow(e, bts)")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24+compow"},".compow(e, r)")))),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("em",{parentName:"li"},"static"),(0,l.yg)("ul",{parentName:"li"},(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24.fromBytes"},".fromBytes(w)")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24.teq"},".teq()")),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"#FP24.pow8"},".pow8()"))))))),(0,l.yg)("a",{name:"new_FP24_new"}),(0,l.yg)("h3",{id:"new-fp24"},"new FP24()"),(0,l.yg)("p",null,"Creates an instance of FP24."),(0,l.yg)("a",{name:"FP24+reduce"}),(0,l.yg)("h3",{id:"fp24reduce"},"fP24.reduce()"),(0,l.yg)("p",null,"Reduces all components of possibly unreduced FP24 mod Modulus"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+norm"}),(0,l.yg)("h3",{id:"fp24norm"},"fP24.norm()"),(0,l.yg)("p",null,"Normalises the components of an FP24"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+iszilch"}),(0,l.yg)("h3",{id:"fp24iszilch"},"fP24.iszilch()"),(0,l.yg)("p",null,"Tests for FP24 equal to zero"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+isunity"}),(0,l.yg)("h3",{id:"fp24isunity"},"fP24.isunity()"),(0,l.yg)("p",null,"Tests for FP24 equal to unity"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+cmove"}),(0,l.yg)("h3",{id:"fp24cmoveg-d"},"fP24.cmove(g, d)"),(0,l.yg)("p",null,"Conditional copy of FP24 number"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"g"),(0,l.yg)("td",{parentName:"tr",align:null},"FP24 instance")),(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"d"),(0,l.yg)("td",{parentName:"tr",align:null},"copy depends on this value")))),(0,l.yg)("a",{name:"FP24+select"}),(0,l.yg)("h3",{id:"fp24select"},"fP24.select()"),(0,l.yg)("p",null,"Constant time select from pre-computed table"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+geta"}),(0,l.yg)("h3",{id:"fp24geta"},"fP24.geta()"),(0,l.yg)("p",null,"extract a from this"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+getb"}),(0,l.yg)("h3",{id:"fp24getb"},"fP24.getb()"),(0,l.yg)("p",null,"extract b from this"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+getc"}),(0,l.yg)("h3",{id:"fp24getc"},"fP24.getc()"),(0,l.yg)("p",null,"extract c from this"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+equals"}),(0,l.yg)("h3",{id:"fp24equalsx"},"fP24.equals(x)"),(0,l.yg)("p",null,"Tests for equality of two FP24s"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"x"),(0,l.yg)("td",{parentName:"tr",align:null},"FP24 instance to compare")))),(0,l.yg)("a",{name:"FP24+copy"}),(0,l.yg)("h3",{id:"fp24copyx"},"fP24.copy(x)"),(0,l.yg)("p",null,"Copy FP24 to another FP24"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"x"),(0,l.yg)("td",{parentName:"tr",align:null},"FP24 instance to be copied")))),(0,l.yg)("a",{name:"FP24+one"}),(0,l.yg)("h3",{id:"fp24onex"},"fP24.one(x)"),(0,l.yg)("p",null,"Set FP24 to unity"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"x"),(0,l.yg)("td",{parentName:"tr",align:null},"FP24 instance to be set to one")))),(0,l.yg)("a",{name:"FP24+zero"}),(0,l.yg)("h3",{id:"fp24zero"},"fP24.zero()"),(0,l.yg)("p",null,"Set FP24 to zero"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+conj"}),(0,l.yg)("h3",{id:"fp24conj"},"fP24.conj()"),(0,l.yg)("p",null,"Conjugation of FP24"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+set"}),(0,l.yg)("h3",{id:"fp24setd-e-f"},"fP24.set(d, e, f)"),(0,l.yg)("p",null,"Set FP24 from three FP8 values"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"d"),(0,l.yg)("td",{parentName:"tr",align:null},"FP8 instance")),(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"e"),(0,l.yg)("td",{parentName:"tr",align:null},"FP8 instance")),(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"f"),(0,l.yg)("td",{parentName:"tr",align:null},"FP8 instance")))),(0,l.yg)("a",{name:"FP24+seta"}),(0,l.yg)("h3",{id:"fp24setac"},"fP24.seta(c)"),(0,l.yg)("p",null,"Set FP24 from one FP8 value"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"c"),(0,l.yg)("td",{parentName:"tr",align:null},"FP8 instance")))),(0,l.yg)("a",{name:"FP24+usqr"}),(0,l.yg)("h3",{id:"fp24usqr"},"fP24.usqr()"),(0,l.yg)("p",null,'Fast Squaring of an FP24 in "unitary" form'),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+sqr"}),(0,l.yg)("h3",{id:"fp24sqr"},"fP24.sqr()"),(0,l.yg)("p",null,"Fast Squaring of an FP24"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+mul"}),(0,l.yg)("h3",{id:"fp24muly"},"fP24.mul(y)"),(0,l.yg)("p",null,"Full unconditional Multiplication of two FP24s"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"y"),(0,l.yg)("td",{parentName:"tr",align:null},"FP24 instance, the multiplier")))),(0,l.yg)("a",{name:"FP24+smul"}),(0,l.yg)("h3",{id:"fp24smuly"},"fP24.smul(y)"),(0,l.yg)("p",null,"Fast multiplication of two sparse FP24s that arises from ATE pairing line functions"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"y"),(0,l.yg)("td",{parentName:"tr",align:null},"FP24 instance, the multiplier")))),(0,l.yg)("a",{name:"FP24+ssmul"}),(0,l.yg)("h3",{id:"fp24ssmuly"},"fP24.ssmul(y)"),(0,l.yg)("p",null,"Fast multiplication of what may be sparse multiplicands"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"y"),(0,l.yg)("td",{parentName:"tr",align:null},"FP24 instance, the multiplier")))),(0,l.yg)("a",{name:"FP24+inverse"}),(0,l.yg)("h3",{id:"fp24inverse"},"fP24.inverse()"),(0,l.yg)("p",null,"Inverting an FP24"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+frob"}),(0,l.yg)("h3",{id:"fp24frobf"},"fP24.frob(f)"),(0,l.yg)("p",null,"Raises an FP24 to the power of the internal modulus p, using the Frobenius"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"f"),(0,l.yg)("td",{parentName:"tr",align:null},"Modulus")))),(0,l.yg)("a",{name:"FP24+trace"}),(0,l.yg)("h3",{id:"fp24trace"},"fP24.trace()"),(0,l.yg)("p",null,"Calculate the trace of an FP24"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+toString"}),(0,l.yg)("h3",{id:"fp24tostring"},"fP24.toString()"),(0,l.yg)("p",null,"convert this to hex string"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24+toBytes"}),(0,l.yg)("h3",{id:"fp24tobytesw"},"fP24.toBytes(w)"),(0,l.yg)("p",null,"convert this to byte array"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"w"),(0,l.yg)("td",{parentName:"tr",align:null},"Byte array")))),(0,l.yg)("a",{name:"FP24+pow"}),(0,l.yg)("h3",{id:"fp24powe"},"fP24.pow(e)"),(0,l.yg)("p",null,"Raises an FP24 to the power of a BIG"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"e"),(0,l.yg)("td",{parentName:"tr",align:null},"BIG instance exponent")))),(0,l.yg)("a",{name:"FP24+pinpow"}),(0,l.yg)("h3",{id:"fp24pinpowe-bts"},"fP24.pinpow(e, bts)"),(0,l.yg)("p",null,"Raises an FP24 instance x to a small integer power, side-channel resistant"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"e"),(0,l.yg)("td",{parentName:"tr",align:null},"small integer exponent")),(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"bts"),(0,l.yg)("td",{parentName:"tr",align:null},"maximum number of bits in exponent")))),(0,l.yg)("a",{name:"FP24+compow"}),(0,l.yg)("h3",{id:"fp24compowe-r"},"fP24.compow(e, r)"),(0,l.yg)("p",null,"Raises an FP24 instance to a BIG power, compressed to FP4"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"e"),(0,l.yg)("td",{parentName:"tr",align:null},"BIG exponent")),(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"r"),(0,l.yg)("td",{parentName:"tr",align:null},"BIG group order")))),(0,l.yg)("a",{name:"FP24.fromBytes"}),(0,l.yg)("h3",{id:"fp24frombytesw"},"FP24.fromBytes(w)"),(0,l.yg)("p",null,"convert from byte array to FP24"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": static method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("table",null,(0,l.yg)("thead",{parentName:"table"},(0,l.yg)("tr",{parentName:"thead"},(0,l.yg)("th",{parentName:"tr",align:null},"Param"),(0,l.yg)("th",{parentName:"tr",align:null},"Description"))),(0,l.yg)("tbody",{parentName:"table"},(0,l.yg)("tr",{parentName:"tbody"},(0,l.yg)("td",{parentName:"tr",align:null},"w"),(0,l.yg)("td",{parentName:"tr",align:null},"Byte array")))),(0,l.yg)("a",{name:"FP24.teq"}),(0,l.yg)("h3",{id:"fp24teq"},"FP24.teq()"),(0,l.yg)("p",null,"return 1 if b==c, no branching"),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": static method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')," "),(0,l.yg)("a",{name:"FP24.pow8"}),(0,l.yg)("h3",{id:"fp24pow8"},"FP24.pow8()"),(0,l.yg)("p",null,"p=q0^u0.q1^u1.q2^u2.q3^u3..."),(0,l.yg)("p",null,(0,l.yg)("strong",{parentName:"p"},"Kind"),": static method of ",(0,l.yg)("a",{parentName:"p",href:"#FP24"},(0,l.yg)("code",null,"FP24")),(0,l.yg)("br",{parentName:"p"}),"\n",(0,l.yg)("strong",{parentName:"p"},"this"),": ",(0,l.yg)("code",null,'{"{"}FP24{"}"}')))}d.isMDXComponent=!0}}]);