package octez-libs
A package that contains multiple base libraries used by the Octez suite
Install
Dune Dependency
Authors
Maintainers
Sources
tezos-18.1.tar.gz
sha256=aa2f5bc99cc4ca2217c52a1af2a2cdfd3b383208cb859ca2e79ca0903396ca1d
sha512=d68bb3eb615e3dcccc845fddfc9901c95b3c6dc8e105e39522ce97637b1308a7fa7aa1d271351d5933febd7476b2819e1694f31198f1f0919681f1f9cc97cb3a
doc/src/octez-libs.mec/tweedledee.ml.html
Source file tweedledee.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
(** https://github.com/daira/tweedle Base field: 2^254 + 4707489544292117082687961190295928833 = 28948022309329048855892746252171976963322203655954433126947083963168578338817 (254 bits - 32 bytes) Scalar field: 2^254 + 4707489545178046908921067385359695873 = 28948022309329048855892746252171976963322203655955319056773317069363642105857 (254 bits - 32 bytes) Base field multiplicative subgroup decomposition: 2^34 * 3 * 561665555565638329055562814312908972367531846121311209609791868583 Prime field multiplication subgroup decomposition: 2^33 * 3 * 5179 * 216901160674121772178243990852639108850176422522235334586122689 *) let two_z = Z.succ Z.one module Fq = Ff.MakeFp (struct let prime_order = Z.((two_z ** 254) + Z.of_string "4707489544292117082687961190295928833") end) module Fp = Ff.MakeFp (struct let prime_order = Z.((two_z ** 254) + Z.of_string "4707489545178046908921067385359695873") end) module Jacobian = Ec.MakeJacobianWeierstrass (Fq) (Fp) (struct let a = Fq.zero let b = Fq.of_z (Z.of_int 5) let cofactor = Z.one (* x = -1 y = 2 *) let bytes_generator = Bytes.concat Bytes.empty [ Fq.(to_bytes (negate (of_string "1"))); Fq.(to_bytes (of_string "2")); Fq.(to_bytes one); ] end) module Projective = Ec.MakeProjectiveWeierstrass (Fq) (Fp) (struct let a = Fq.zero let b = Fq.of_z (Z.of_int 5) let cofactor = Z.one (* x = -1 y = 2 *) let bytes_generator = Bytes.concat Bytes.empty [ Fq.(to_bytes (negate (of_string "1"))); Fq.(to_bytes (of_string "2")); Fq.(to_bytes one); ] end) module Affine = Ec.MakeAffineWeierstrass (Fq) (Fp) (struct let a = Fq.zero let b = Fq.of_z (Z.of_int 5) let cofactor = Z.one (* x = -1 y = 2 *) let bytes_generator = Bytes.concat Bytes.empty [ Fq.(to_bytes (negate (of_string "1"))); Fq.(to_bytes (of_string "2")); ] end) let from_affine_weierstrass_to_jacobian_weierstrass p = Ec.from_affine_weierstrass_to_jacobian_weierstrass (module Affine) (module Jacobian) p let from_affine_weierstrass_to_projective_weierstrass p = Ec.from_affine_weierstrass_to_projective_weierstrass (module Affine) (module Projective) p let from_jacobian_weierstrass_to_affine_weierstrass p = Ec.from_jacobian_weierstrass_to_affine_weierstrass (module Jacobian) (module Affine) p let from_projective_weierstrass_to_affine_weierstrass p = Ec.from_projective_weierstrass_to_affine_weierstrass (module Projective) (module Affine) p
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>