forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			85 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef HX_MATH
 | 
						|
#define HX_MATH
 | 
						|
 | 
						|
#ifndef HXCPP_H
 | 
						|
#include <hxcpp.h>
 | 
						|
#endif
 | 
						|
 | 
						|
#include <cmath>
 | 
						|
#include <stdlib.h>
 | 
						|
 | 
						|
class HXCPP_EXTERN_CLASS_ATTRIBUTES Math_obj : public hx::Object
 | 
						|
{
 | 
						|
public:
 | 
						|
   HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdMath };
 | 
						|
 | 
						|
   typedef hx::Object super;
 | 
						|
   typedef Math_obj OBJ_;
 | 
						|
   HX_DO_RTTI;
 | 
						|
   void __construct();
 | 
						|
   static Dynamic __CreateEmpty();
 | 
						|
   static void __boot();
 | 
						|
 | 
						|
   inline static int floor(double inX) { return __int__(::std::floor(inX)); }
 | 
						|
   inline static int ceil(double inX) { return __int__(::std::ceil(inX)); }
 | 
						|
   inline static int round(double inX) { return floor(inX+0.5); }
 | 
						|
   inline static double ffloor(double inX) { return ::std::floor(inX); }
 | 
						|
   inline static double fceil(double inX) { return ::std::ceil(inX); }
 | 
						|
   inline static double fround(double inX) { return ::std::floor(inX+0.5); }
 | 
						|
   inline static double random() { return __hxcpp_drand(); }
 | 
						|
   inline static double sqrt(double inX) { return ::std::sqrt(inX); }
 | 
						|
   inline static double cos(double inX) { return ::std::cos(inX); }
 | 
						|
   inline static double sin(double inX) { return ::std::sin(inX); }
 | 
						|
   inline static double tan(double inX) { return ::std::tan(inX); }
 | 
						|
   inline static double atan2(double inY,double inX) { return ::std::atan2(inY,inX); }
 | 
						|
   inline static double abs(double inX) { return ::std::fabs(inX); }
 | 
						|
   inline static double pow(double inA,double inB) { return ::std::pow(inA,inB); }
 | 
						|
   inline static double log(double inA) { return ::std::log(inA); }
 | 
						|
   inline static double max(double inA,double inB) { return inA>inB ? inA:inA==inA?inB:inA; }
 | 
						|
   inline static double min(double inA,double inB) { return inA<inB ? inA:inA==inA?inB:inA; }
 | 
						|
 | 
						|
   inline static double atan(double inA) { return ::std::atan(inA); }
 | 
						|
   inline static double asin(double inA) { return ::std::asin(inA); }
 | 
						|
   inline static double acos(double inA) { return ::std::acos(inA); }
 | 
						|
   inline static double exp(double inA) { return ::std::exp(inA); }
 | 
						|
 | 
						|
 | 
						|
   static bool isNaN(double inX);
 | 
						|
   static bool isFinite(double inX);
 | 
						|
 | 
						|
 | 
						|
   static Dynamic floor_dyn();
 | 
						|
   static Dynamic ceil_dyn();
 | 
						|
   static Dynamic round_dyn();
 | 
						|
   static Dynamic ffloor_dyn();
 | 
						|
   static Dynamic fceil_dyn();
 | 
						|
   static Dynamic fround_dyn();
 | 
						|
   static Dynamic random_dyn();
 | 
						|
   static Dynamic sqrt_dyn();
 | 
						|
   static Dynamic cos_dyn();
 | 
						|
   static Dynamic sin_dyn();
 | 
						|
   static Dynamic tan_dyn();
 | 
						|
   static Dynamic atan2_dyn();
 | 
						|
   static Dynamic abs_dyn();
 | 
						|
   static Dynamic pow_dyn();
 | 
						|
   static Dynamic log_dyn();
 | 
						|
   static Dynamic min_dyn();
 | 
						|
   static Dynamic max_dyn();
 | 
						|
   static Dynamic atan_dyn();
 | 
						|
   static Dynamic asin_dyn();
 | 
						|
   static Dynamic acos_dyn();
 | 
						|
   static Dynamic exp_dyn();
 | 
						|
   static Dynamic isNaN_dyn();
 | 
						|
   static Dynamic isFinite_dyn();
 | 
						|
 | 
						|
   static double NaN;
 | 
						|
   static double PI;
 | 
						|
   static double NEGATIVE_INFINITY;
 | 
						|
   static double POSITIVE_INFINITY;
 | 
						|
};
 | 
						|
 | 
						|
typedef hx::ObjectPtr<Math_obj> Math;
 | 
						|
 | 
						|
 | 
						|
#endif
 |