| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ! Copyright (C) 2006 Slava Pestov. | 
					
						
							|  |  |  | ! See http://factorcode.org/license.txt for BSD license. | 
					
						
							|  |  |  | USING: alien ;
 | 
					
						
							|  |  |  | IN: math.libm | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : facos ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "acos" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : fasin ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "asin" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : fatan ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "atan" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : fatan2 ( x y -- z )
 | 
					
						
							|  |  |  |     "double" "libm" "atan2" { "double" "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : fcos ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "cos" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : fsin ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "sin" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-05-26 18:15:54 -04:00
										 |  |  | : ftan ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "tan" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2008-05-26 18:15:54 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | : fcosh ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "cosh" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : fsinh ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "sinh" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-05-26 18:15:54 -04:00
										 |  |  | : ftanh ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "tanh" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2008-05-26 18:15:54 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | : fexp ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "exp" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : flog ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "log" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : fpow ( x y -- z )
 | 
					
						
							|  |  |  |     "double" "libm" "pow" { "double" "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : fsqrt ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "sqrt" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2008-06-07 08:22:09 -04:00
										 |  |  |      | 
					
						
							|  |  |  | ! Windows doesn't have these... | 
					
						
							|  |  |  | : facosh ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "acosh" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2008-06-07 08:22:09 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : fasinh ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "asinh" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 | 
					
						
							| 
									
										
										
										
											2008-06-07 08:22:09 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : fatanh ( x -- y )
 | 
					
						
							|  |  |  |     "double" "libm" "atanh" { "double" } alien-invoke ;
 | 
					
						
							| 
									
										
										
										
											2008-11-29 04:49:24 -05:00
										 |  |  |     inline
 |