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
/*!
btw if you're looking at all these versions before idk probably 0.1.0 they're all garbage while I figure out how docs.rs work
*/
extern crate num;
#[cfg(test)]
mod tests {
    #[test]
    fn sin_test() {
		
    }
    fn cos_test() {
    	
    }
    fn tan_test() {
    	
    }
}
///trig functions are here
pub mod trigonometry {

	///used to distinguish between using degrees and radians for the trig functions
	enum Mode{degrees,radians}
	
	
	fn sin <T>(num:T,mode:Mode) -> T
		where T:std::ops::Mul<Output = T>+std::clone::Clone+num::Num+std::convert::Into<usize>{//!documentation?
		return num::pow::pow(num.clone(),num.into())
	}
	
	///cosin hello
	fn cos <T>(num:T,mode:Mode) -> T
		where T:std::ops::Div<Output = T>+std::clone::Clone{
		return num
	}
	
	/// tan is here with slightly more functionality
	fn tan <T>(num:T,mode:Mode) -> T
	where T:std::ops::Div<Output = T>+std::clone::Clone{
		return num.clone()/num
	}
}