/** * Set nakshatra start and end. * * @return void */ protected function setNakshatraStartEnd() { if ($this->optionWithAbhijit) { switch ($this->nakshatraKey) { case 21: $this->nakshatraStart = Math::dmsMulti(Nakshatra::$arc, 20); $this->nakshatraEnd = ['d' => 276, 'm' => 40]; break; case 28: $this->nakshatraStart = ['d' => 276, 'm' => 40]; $this->nakshatraEnd = ['d' => 280, 'm' => 53, 's' => 20]; break; case 22: $this->nakshatraStart = ['d' => 280, 'm' => 53, 's' => 20]; $this->nakshatraEnd = Math::dmsMulti(Nakshatra::$arc, 22); break; default: $this->nakshatraStart = Math::dmsMulti(Nakshatra::$arc, $this->nakshatraKey - 1); $this->nakshatraEnd = Math::dmsSum($this->nakshatraStart, Nakshatra::$arc); } } else { if ($this->nakshatraKey == 28) { throw new \Jyotish\Panchanga\Exception\InvalidArgumentException("Parameters of 28 nakshatra are determined only with option 'withAbhijit' = true."); } $this->nakshatraStart = Math::dmsMulti(Nakshatra::$arc, $this->nakshatraKey - 1); $this->nakshatraEnd = Math::dmsSum($this->nakshatraStart, Nakshatra::$arc); } }