Skip to content
Snippets Groups Projects
Select Git revision
  • 400390bc44dc8c8409e9a3d0cbb8fd37c39529b8
  • master default protected
  • sk
3 results

combination.h

Blame
  • combination.h 6.12 KiB
    #include "fx_s1516_double.h"
    #include "fx_s1516_longlong.h"
    #include "fx_s1615_double.h"
    #include "fx_s1615_longlong.h"
    #include "fx_s2308_double.h"
    #include "fx_s2308_longlong.h"
    #include "fx_s3132_double.h"
    #include "fx_s3132_longlong.h"
    #include "fx_s3231_double.h"
    #include "fx_s3231_longlong.h"
    #include "fx_s4716_double.h"
    #include "fx_s4716_longlong.h"
    
    #define _FX_S1516 1
    #define _FX_S1615 2
    #define _FX_S2308 3
    #define _FX_S3132 4
    #define _FX_S3231 5
    #define _FX_S4716 6
    
    #define _FX_DOUBLE 10
    #define _FX_LONGLONG 11
    
    #define _FX_SYSTEM 1
    #define _FX_CALCULATION_TYPE 11
    
    #if _FX_SYSTEM == _FX_S1516 || _FX_SYSTEM == _FX_S1615 || _FX_SYSTEM == _FX_S2308
        #if _FX_CALCULATION_TYPE == _FX_DOUBLE
            #define fx_type 0
        #else 
            #define fx_type 1
        #endif
    #else
        #if _FX_CALCULATION_TYPE == _FX_DOUBLE
            #define fx_type 2
        #else 
            #define fx_type 3
        #endif
    #endif
    
    #if _FX_SYSTEM == _FX_S1516 && _FX_CALCULATION_TYPE == _FX_DOUBLE
        #define fx_add(a, b) fx_s1516_double_add(a, b)
        #define fx_sub(a, b) fx_s1516_double_sub(a, b)
        #define fx_mul(a, b) fx_s1516_double_mul(a, b)
        #define fx_div(a, b) fx_s1516_double_div(a, b)
        #define fx_sqrt(a) fx_s1516_double_sqrt(a)
        #define fx_pow(a, b) fx_s1516_double_pow(a, b)
        #define fx_log(a, b) fx_s1516_double_log(a, b)
    #endif
    
    #if _FX_SYSTEM == _FX_S1516 && _FX_CALCULATION_TYPE == _FX_LONGLONG
        #define fx_mul1(a, b) fx_s1516_longlong_mul0(a, b)
        #define fx_mul2(a, b) fx_s1516_longlong_mul1(a, b)
        #define fx_mul3(a, b) fx_s1516_longlong_mul2(a, b)
        #define fx_div1(a, b) fx_s1516_longlong_div0(a, b)
        #define fx_div2(a, b) fx_s1516_longlong_div1(a, b)
        #define fx_div3(a, b) fx_s1516_longlong_div2(a, b)
        #define fx_sin(a) fx_s1516_longlong_sin(a)
        #define fx_sqrt(a) fx_s1516_longlong_sqrt(a)
    #endif
    
    #if _FX_SYSTEM == _FX_S1615 && _FX_CALCULATION_TYPE == _FX_DOUBLE
        #define fx_add(a, b) fx_s1615_double_add(a, b)
        #define fx_sub(a, b) fx_s1615_double_sub(a, b)
        #define fx_mul(a, b) fx_s1615_double_mul(a, b)
        #define fx_div(a, b) fx_s1615_double_div(a, b)
        #define fx_sin(a) sine_fx_s1615_int(a)
        #define fx_sqrt(a) sqrt_fx_s1615_int(a)
        #define fx_pow(a, b) power_fx_s1615_int(a, b)
    #endif
    
    #if _FX_SYSTEM == _FX_S1615 && _FX_CALCULATION_TYPE == _FX_LONGLONG
        #define fx_mul1(a, b) fx_s1615_longlong_mul1(a, b)
        #define fx_mul2(a, b) fx_s1615_longlong_mul2(a, b)
        #define fx_mul3(a, b) fx_s1615_longlong_mul3(a, b)
        #define fx_div1(a, b) fx_s1615_longlong_div1(a, b)
        #define fx_div2(a, b) fx_s1615_longlong_div2(a, b)
        #define fx_div3(a, b) fx_s1615_longlong_div3(a, b)
        #define fx_sin(a) sine_fx_s1615_longlong(a)
    #endif
    
    #if _FX_SYSTEM == _FX_S2308 && _FX_CALCULATION_TYPE == _FX_DOUBLE
        #define fx_add(a, b) fx_s2308_double_add(a, b)
        #define fx_sub(a, b) fx_s2308_double_sub(a, b)
        #define fx_mul(a, b) fx_s2308_double_mul(a, b)
        #define fx_div(a, b) fx_s2308_double_div(a, b)
        #define fx_sin(a) fx_s2308_double_sine(a)
        #define fx_sqrt(a) fx_s2308_double_sqrt(a)
        #define fx_pow(a, b) fx_s2308_double_pow(a, b)
    #endif
    
    #if _FX_SYSTEM == _FX_S2308 && _FX_CALCULATION_TYPE == _FX_LONGLONG
        #define fx_mul1(a, b) fx_s2308_longlong_mul1(a, b)
        #define fx_mul2(a, b) fx_s2308_longlong_mul2(a, b)
        #define fx_mul3(a, b) fx_s2308_longlong_mul3(a, b)
        #define fx_mul4(a, b) fx_s2308_longlong_mul4(a, b)
        #define fx_div1(a, b) fx_s2308_longlong_div1(a, b)
        #define fx_div2(a, b) fx_s2308_longlong_div2(a, b)
        #define fx_div3(a, b) a
        #define fx_sin(a) fx_s2308_sind(a)
    #endif
    
    #if _FX_SYSTEM == _FX_S3132 && _FX_CALCULATION_TYPE == _FX_DOUBLE
        #define fx_add(a, b) fx_s3132_double_add(a, b)
        #define fx_sub(a, b) fx_s3132_double_sub(a, b)
        #define fx_mul(a, b) fx_s3132_double_mul(a, b)
        #define fx_div(a, b) fx_s3132_double_div(a, b)
        #define fx_sin(a) fx_s3132_double_sine(a)
        #define fx_sqrt(a) fx_s3132_double_sqrt(a)
        #define fx_pow(a, b) fx_s3132_double_power(a, b)
    #endif
    
    #if _FX_SYSTEM == _FX_S3132 && _FX_CALCULATION_TYPE == _FX_LONGLONG
        #define fx_mul1(a, b) fx_s3132_longlong_mul1(a, b)
        #define fx_mul2(a, b) fx_s3132_longlong_mul2(a, b)
        #define fx_mul3(a, b) fx_s3132_longlong_mul3(a, b)
        #define fx_div1(a, b) fx_s3132_longlong_div1(a, b)
        #define fx_div2(a, b) fx_s3132_longlong_div2(a, b)
        #define fx_div3(a, b) fx_s3132_longlong_div3(a, b)
        #define fx_sin(a) fx32_sind(a)
    #endif
    
    #if _FX_SYSTEM == _FX_S3231 && _FX_CALCULATION_TYPE == _FX_DOUBLE
        #define fx_add(a, b) fx_s3231_double_add(a, b)
        #define fx_sub(a, b) fx_s3231_double_sub(a, b)
        #define fx_mul(a, b) fx_s3231_double_mul(a, b)
        #define fx_div(a, b) fx_s3231_double_div(a, b)
        #define fx_sin(a) fx_3231_double_sin(a)
        #define fx_sqrt(a) fx_3231_double_sqrt(a)
        #define fx_pow(a, b) fx_3231_double_power(a, b)
    #endif
    
    #if _FX_SYSTEM == _FX_S3231 && _FX_CALCULATION_TYPE == _FX_LONGLONG
        #define fx_mul1(a, b) fx_s3231_longlong_mul1(a, b)
        #define fx_mul2(a, b) fx_s3231_longlong_mul2(a, b)
        #define fx_mul3(a, b) fx_s3231_longlong_mul3(a, b)
        #define fx_div1(a, b) fx_s3231_longlong_div1(a, b)
        #define fx_div2(a, b) fx_s3231_longlong_div2(a, b)
        #define fx_div3(a, b) fx_s3231_longlong_div3(a, b)
        #define fx_sin(a) fx_3231_longlong_sin(a)
    #endif
    
    #if _FX_SYSTEM == _FX_S4716 && _FX_CALCULATION_TYPE == _FX_DOUBLE
        #define fx_add(a, b) fx_s4716_double_add(a, b)
        #define fx_sub(a, b) fx_s4716_double_sub(a, b)
        #define fx_mul(a, b) fx_s4716_double_mul(a, b)
        #define fx_div(a, b) fx_s4716_double_div(a, b)
        #define fx_sqrt(a) fx_s4716_double_sqrt(a)
        #define fx_pow(a) fx_s4716_double_pow(a)
        #define fx_sin(a) fx_s4716_double_sin(a)
    #endif
    
    #if _FX_SYSTEM == _FX_S4716 && _FX_CALCULATION_TYPE == _FX_LONGLONG
        #define fx_mul1(a, b) fx_s4716_longlong_mul1(a, b)
        #define fx_mul2(a, b) fx_s4716_longlong_mul2(a, b)
        #define fx_mul3(a, b) fx_s4716_longlong_mul3(a, b)
        #define fx_div1(a, b) fx_s4716_longlong_div1(a, b)
        #define fx_div2(a, b) fx_s4716_longlong_div2(a, b)
        #define fx_div3(a, b) fx_s4716_longlong_div3(a, b)
        #define fx_sin(a) a
    #endif
    
    // #define fx_log(a, b) a
    // #define fx_sin(a) a
    // #define fx_sqrt(a, b) a