[ Index ] |
PHP Cross Reference of WordPress |
[Summary view] [Print] [Text view]
1 <?php 2 3 if (class_exists('ParagonIE_Sodium_Core_Curve25519_Fe', false)) { 4 return; 5 } 6 7 /** 8 * Class ParagonIE_Sodium_Core_Curve25519_Fe 9 * 10 * This represents a Field Element 11 */ 12 class ParagonIE_Sodium_Core_Curve25519_Fe implements ArrayAccess 13 { 14 /** 15 * @var array<int, int> 16 */ 17 protected $container = array(); 18 19 /** 20 * @var int 21 */ 22 protected $size = 10; 23 24 /** 25 * @internal You should not use this directly from another application 26 * 27 * @param array<int, int> $array 28 * @param bool $save_indexes 29 * @return self 30 */ 31 public static function fromArray($array, $save_indexes = null) 32 { 33 $count = count($array); 34 if ($save_indexes) { 35 $keys = array_keys($array); 36 } else { 37 $keys = range(0, $count - 1); 38 } 39 $array = array_values($array); 40 /** @var array<int, int> $keys */ 41 42 $obj = new ParagonIE_Sodium_Core_Curve25519_Fe(); 43 if ($save_indexes) { 44 for ($i = 0; $i < $count; ++$i) { 45 $obj->offsetSet($keys[$i], $array[$i]); 46 } 47 } else { 48 for ($i = 0; $i < $count; ++$i) { 49 $obj->offsetSet($i, $array[$i]); 50 } 51 } 52 return $obj; 53 } 54 55 /** 56 * @internal You should not use this directly from another application 57 * 58 * @param int|null $offset 59 * @param int $value 60 * @return void 61 * @psalm-suppress MixedArrayOffset 62 */ 63 #[ReturnTypeWillChange] 64 public function offsetSet($offset, $value) 65 { 66 if (!is_int($value)) { 67 throw new InvalidArgumentException('Expected an integer'); 68 } 69 if (is_null($offset)) { 70 $this->container[] = $value; 71 } else { 72 $this->container[$offset] = $value; 73 } 74 } 75 76 /** 77 * @internal You should not use this directly from another application 78 * 79 * @param int $offset 80 * @return bool 81 * @psalm-suppress MixedArrayOffset 82 */ 83 #[ReturnTypeWillChange] 84 public function offsetExists($offset) 85 { 86 return isset($this->container[$offset]); 87 } 88 89 /** 90 * @internal You should not use this directly from another application 91 * 92 * @param int $offset 93 * @return void 94 * @psalm-suppress MixedArrayOffset 95 */ 96 #[ReturnTypeWillChange] 97 public function offsetUnset($offset) 98 { 99 unset($this->container[$offset]); 100 } 101 102 /** 103 * @internal You should not use this directly from another application 104 * 105 * @param int $offset 106 * @return int 107 * @psalm-suppress MixedArrayOffset 108 */ 109 #[ReturnTypeWillChange] 110 public function offsetGet($offset) 111 { 112 if (!isset($this->container[$offset])) { 113 $this->container[$offset] = 0; 114 } 115 return (int) ($this->container[$offset]); 116 } 117 118 /** 119 * @internal You should not use this directly from another application 120 * 121 * @return array 122 */ 123 public function __debugInfo() 124 { 125 return array(implode(', ', $this->container)); 126 } 127 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Nov 21 01:00:03 2024 | Cross-referenced by PHPXref 0.7.1 |