diff --git a/src/net/apocalypselabs/symat/Functions.java b/src/net/apocalypselabs/symat/Functions.java index c22dc26..22f87f1 100644 --- a/src/net/apocalypselabs/symat/Functions.java +++ b/src/net/apocalypselabs/symat/Functions.java @@ -54,12 +54,14 @@ import java.lang.reflect.Array; import java.math.BigInteger; import java.net.URL; import java.security.SecureRandom; +import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; +import java.util.List; import java.util.Map; import java.util.NoSuchElementException; import java.util.Set; @@ -409,6 +411,81 @@ public class Functions { return ans.toString(); } + public int[] primes(int in) { + boolean[] prime = new boolean[in]; + for (int i = 0; i < prime.length; i++) { + prime[i] = true; + } + for (int i = 2; i < sqrt(in); i++) { + if (prime[i]) { + int x = 0; + for (int j = i * i; j < in; j = i * i + x * i) { + prime[j] = false; + x++; + } + } + } + List arr = new ArrayList<>(); + for (int i = 2; i < prime.length; i++) { + if (prime[i]) { + arr.add(i); + } + } + int[] out = new int[arr.size()]; + for (int i = 0; i < arr.size(); i++) { + out[i] = arr.get(i); + } + return out; + } + + public double sec(double d) { + return 1.0 / Math.cos(d); + } + + public double csc(double d) { + return 1.0 / Math.sin(d); + } + + public double cot(double d) { + return 1.0 / Math.tan(d); + } + + public double asec(double d) { + return Math.acos(1.0 / d); + } + + public double acsc(double d) { + return Math.asin(1.0 / d); + } + + public double acot(double d) { + return Math.atan(1.0 / d); + } + + public double sinh(double d) { + return Math.sinh(d); + } + + public double cosh(double d) { + return Math.cosh(d); + } + + public double tanh(double d) { + return Math.tanh(d); + } + + public double sech(double d) { + return pow(Math.cosh(d), -1); + } + + public double csch(double d) { + return pow(Math.sinh(d), -1); + } + + public double coth(double d) { + return Math.cosh(d) / Math.sinh(d); + } + /** * Multiplies the given numbers together. * diff --git a/src/net/apocalypselabs/symat/functions.py b/src/net/apocalypselabs/symat/functions.py index 537cd7d..c1585d6 100644 --- a/src/net/apocalypselabs/symat/functions.py +++ b/src/net/apocalypselabs/symat/functions.py @@ -75,4 +75,16 @@ def gcd(a,b): def solve(a,b='x',c=0): return _.solve(a,b,c) def printa(a): - return _.printa(a) \ No newline at end of file + return _.printa(a) +def sec(a): + return _.sec(a) +def csc(a): + return _.csc(a) +def cot(a): + return _.cot(a) +def asec(a): + return _.asec(a) +def acsc(a): + return _.acsc(a) +def acot(a): + return _.acot(a) \ No newline at end of file