Update repo

This commit is contained in:
2026-08-30 23:04:35 -07:00
parent 749dab5721
commit ce65a0f59a
14950 changed files with 4408250 additions and 1 deletions
@@ -0,0 +1,154 @@
#include <stdlib.h>
% var moduleName = "fastintdiv"
% let Common = system.getScript("/driverlib/Common.js");
% var module = system.modules['/libraries/math/FASTINTDIV' + '/' + moduleName + '.js'];
% var instance = module.$instances[0];
%
%if (module != null)
%{
//
// IMPORTANT NOTE: The standard is to use data types in the format as int32_t, but the structs
// as part of the stdlib.h file do not use these types, so their corresponding
// data types are used here.
//
// Return type is ldiv_t:
//
// typedef struct {
// int32_t quot;
// int32_t rem;
// } ldiv_t;
//
// Example:
// int32_t numerator = 2000000000;
// int32_t denominator = -500;
// ldiv_t result = FID_COMP_I16_BY_I16_T(numerator, denominator);
// int32_t quotient = result.quot;
// int32_t remainder = result.rem;
//
#define `instance.fid_0` __traditional_div_i16byi16
#define `instance.fid_2` __traditional_div_i32byi32
#define `instance.fid_3` __traditional_div_i32byu32
#define `instance.fid_8` __traditional_div_i32byi16
#define `instance.fid_13` __modulo_div_i16byi16
#define `instance.fid_14` __modulo_div_i32byi32
#define `instance.fid_15` __modulo_div_i32byu32
#define `instance.fid_18` __modulo_div_i32byi16
#define `instance.fid_21` __euclidean_div_i16byi16
#define `instance.fid_22` __euclidean_div_i32byi32
#define `instance.fid_25` __euclidean_div_i32byi16
//
// Return type is __uldiv_t:
//
// typedef struct {
// uint32_t quot;
// uint32_t rem;
// } __uldiv_t;
//
// Example:
// uint32_t numerator = 3000000000;
// uint32_t denominator = 50000000;
// __uldiv_t result = FID_COMP_U32_BY_U32_T(numerator, denominator);
// uint32_t quotient = result.quot;
// uint32_t remainder = result.rem;
//
#define `instance.fid_1` __traditional_div_u16byu16
#define `instance.fid_4` __traditional_div_u32byu32
#define `instance.fid_9` __traditional_div_u32byu16
//
// Return type is lldiv_t:
//
// typedef struct {
// int64_t quot;
// int64_t rem;
// } lldiv_t;
//
// Example:
// int64_t numerator = -2000000000000000000;
// int64_t denominator = 500000000;
// lldiv_t result = FID_COMP_I64_BY_I64_T(numerator, denominator);
// int64_t quotient = result.quot;
// int64_t remainder = result.rem;
//
#define `instance.fid_5` __traditional_div_i64byi64
#define `instance.fid_6` __traditional_div_i64byu64
#define `instance.fid_11` __traditional_div_i64byu32
#define `instance.fid_16` __modulo_div_i64byi64
#define `instance.fid_17` __modulo_div_i64byu64
#define `instance.fid_23` __euclidean_div_i64byi64
#define `instance.fid_24` __euclidean_div_i64byu64
//
// Return type is __ulldiv_t:
//
// typedef struct {
// uint64_t quot;
// uint64_t rem;
// } __ulldiv_t;
//
// Example:
// uint64_t numerator = 18000000000000000000;
// uint64_t denominator = 5000000000000;
// __ulldiv_t result = FID_COMP_U64_BY_U64_T(numerator, denominator);
// uint64_t quotient = result.quot;
// uint64_t remainder = result.rem;
//
#define `instance.fid_7` __traditional_div_u64byu64
//
// Return type is __llldiv_t:
//
// typedef struct {
// int64_t quot;
// int32_t rem;
// } __llldiv_t;
//
// Example:
// int64_t numerator = -2000000000000000000;
// int32_t denominator = -2000000000;
// __llldiv_t result = FID_COMP_I64_BY_I32_T(numerator, denominator);
// int64_t quotient = result.quot;
// int32_t remainder = result.rem;
//
#define `instance.fid_10` __traditional_div_i64byi32
#define `instance.fid_19` __modulo_div_i64byi32
#define `instance.fid_20` __modulo_div_i64byu32
#define `instance.fid_26` __euclidean_div_i64byi32
#define `instance.fid_27` __euclidean_div_i64byu32
//
// Return type is __ullldiv_t:
//
// typedef struct {
// uint64_t quot;
// uint32_t rem;
// } __ullldiv_t;
//
// Example:
// uint64_t numerator = 18000000000000000000;
// uint32_t denominator = 3000000000;
// __ullldiv_t result = FID_COMP_U64_BY_U32_T(numerator, denominator);
// uint64_t quotient = result.quot;
// uint32_t remainder = result.rem;
//
#define `instance.fid_12` __traditional_div_u64byu32
%}
%
@@ -0,0 +1 @@
--idiv_support=idiv0