n0tmyself před 11 měsíci
rodič
revize
f9061e4a8c

+ 28 - 0
Elliptic-integrals/README.md

@@ -0,0 +1,28 @@
+## Elliptic Integrals Calculator
+
+**Description:**
+Elliptic_Integrals::Elliptic(const double phi, const double k) computes elliptic integrals F(ϕ,k) and E(ϕ,k).
+
+**Usage**
+```cpp
+std::vector<double> Elliptic_Integrals::Elliptic(const double phi, const double k)
+```
+
+**Parameters**
+'phi': The argument in degrees. It must be in the range [0,90]
+'k': The modulus. It must be in the range [−1,1]
+
+**Returns**
+A vector containing the values of F(ϕ,k) (at the first position) and E(ϕ,k) (at the second position).
+
+**Exceptions**
+Throws an error if 'k' is not within the range [−1,1]
+Throws an error if 'phi' is not within the range [0,90]
+
+**Special Cases**
+If 'k' is equal to 1 and 'phi' is 90, the function returns ∞ for F(ϕ,k) and 1 for E(ϕ,k).
+If 'k' is equal to 1, the function applies specific formulas for computing F(ϕ,k) and E(ϕ,k).
+For other cases, the function iteratively computes the integrals until a desired level of precision is achieved.
+
+**Note**
+This implementation has a maximum iteration limit of 1000. Adjustments may be needed based on the desired precision and performance requirements.

+ 1 - 1
Elliptic-integrals/modules/Elliptic_integrals.cpp

@@ -36,7 +36,7 @@ Elliptic_Integrals::~Elliptic_Integrals()
  * @param k - modulus k (-1 <= k <= 1)
  * @param phi - argument (in degrees), 0 <= phi <= 90
  * @return Vector with values of F(phi, k)) (the first place) and E(phi, k) (the second place)
- * @throws "Error! k should be from -1 to 1"
+ * @throws "Error! k should be from -1 to 1", "Error! phi should be from 0 to 90" 
  */
 
 std::vector<double> Elliptic_Integrals::Elliptic(const double phi, const double k)