Commit graph

2898 commits

Author SHA1 Message Date
Dale Weiler
1d347eaf66 Handle byte order mark for unicode. (0xEFBBBF) 2013-11-29 07:03:55 -05:00
Wolfgang Bumiller
c3cc6f184e static variables now don't get re-initialized in functions; cannot be initialized with non-constants anymore; and a counter has been added so you can use the same name in a different scope for another static variable again. 2013-11-28 12:04:01 +01:00
Dale Weiler
bf127088ca Make log use the slightly improved algorithm for small values. 2013-11-25 14:08:05 -05:00
Dale Weiler
9749ec350a Reorder intrinsics table 2013-11-25 13:44:00 -05:00
Dale Weiler
e5fc8fdded out isn't used 2013-11-25 13:42:17 -05:00
Dale Weiler
2d0f0a3607 Never mind 2013-11-25 13:32:02 -05:00
Dale Weiler
25e86c04eb Only g++ is this retarded 2013-11-25 13:30:45 -05:00
Dale Weiler
f19d32b29b Another one 2013-11-25 13:26:24 -05:00
Dale Weiler
dc48af195d Pregenerate 2.0 for const folder since it's used often 2013-11-25 13:25:29 -05:00
Dale Weiler
33c0c83d59 Implemented __builtin_ln, __builtin_log, __builtin_log10, __builtin_log2 and __builtin_logb. This algorithm is nuts. 2013-11-25 13:21:27 -05:00
Dale Weiler
02c6076bfd Fix 2013-11-25 11:29:36 -05:00
Dale Weiler
3209aaa996 Implement __builtin_nan, __builtin_inf and __builtin_epsilon to generate machine nan, inf and epsilon values (at runtime). 2013-11-25 11:26:16 -05:00
Dale Weiler
8a26ed7664 Fix CRC16 2013-11-25 02:11:45 -05:00
Dale Weiler
50d1bfe783 Fix 2013-11-23 21:17:35 -05:00
Dale Weiler
63c0917d24 More compiler intrinsics for math functions 2013-11-23 21:14:13 -05:00
Dale Weiler
87a43777ab strength reduct (a - (-b)) into (a + b) 2013-11-23 13:13:21 -05:00
Dale Weiler
23904bad52 Better exp algorithm from divVerent 2013-11-23 12:45:22 -05:00
Dale Weiler
52cda620b2 Fix comments 2013-11-23 11:15:28 -05:00
Dale Weiler
1c33bcfceb Fixed pow 2013-11-23 11:14:42 -05:00
Dale Weiler
db182819ae Guard against nullfunc 2013-11-23 10:58:03 -05:00
Dale Weiler
ab2a4f1318 Some math constants 2013-11-23 10:31:51 -05:00
Dale Weiler
80adfebd23 Implement isinf intrinsic 2013-11-23 10:16:48 -05:00
Dale Weiler
aee68d80ea Cull back on the TODO 2013-11-23 08:02:56 -05:00
Dale Weiler
457a1b9690 Undefine macros after using them 2013-11-23 07:47:16 -05:00
Dale Weiler
943cb2ca64 Mark restrict on input too 2013-11-23 07:45:45 -05:00
Dale Weiler
556a84a46f Mark const for better generated code 2013-11-23 07:44:34 -05:00
Dale Weiler
b52cf4d47e Add comment abotu CRC16 2013-11-23 07:42:38 -05:00
Dale Weiler
e2bfaf8109 Implemented exp2 intrinsic 2013-11-23 07:37:26 -05:00
Dale Weiler
c68a5c29e1 Simplify 2013-11-23 07:27:09 -05:00
Dale Weiler
11f79bb1a6 Use '#' in nullfun identifier to prevent it from being used in code 2013-11-23 07:25:24 -05:00
Dale Weiler
54f331a64a Fix intrinsics for self-inclusion of other intrinsics. 2013-11-23 07:21:12 -05:00
Dale Weiler
74b58c5bb8 Cleaner handling since intrin_func deals with alias 2013-11-23 07:02:45 -05:00
Dale Weiler
292c8150b4 Resolve undefined functions to compiler builtins if they exist. 2013-11-23 06:57:40 -05:00
Dale Weiler
b1fd85b711 Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking 2013-11-23 06:41:24 -05:00
Dale Weiler
d9572e3e30 Fixed pow/exp using fast approximation until the fractional part is hit. Once fractional is reached a binary search is used to get close to the value. 2013-11-23 06:40:27 -05:00
Wolfgang Bumiller
0860b7a68b crc16 slice-by-8 table generator code included for reference 2013-11-23 11:58:20 +01:00
Wolfgang Bumiller
759fca6921 slice-by-8 crc16 2013-11-23 11:50:30 +01:00
Dale Weiler
3b6e7d0ce1 indent 2013-11-23 03:54:11 -05:00
Dale Weiler
ae9d3d42cf A better mod implementation 2013-11-23 03:53:07 -05:00
Dale Weiler
29f2cc302b Add reference tool 2013-11-23 03:10:09 -05:00
Dale Weiler
7011a2ef2c Faster CRC16 algorithm based on the Slicing-by-8 algorithm, by Michael E. Kounavis and Frank L. Berry from Intel Corp. 2013-11-23 01:00:32 -05:00
Wolfgang Bumiller
ec03b55d1a now it parses and has the desired precedence 2013-11-16 14:34:24 +01:00
Wolfgang Bumiller
9131644412 ** precedence was wrong 2013-11-16 14:26:46 +01:00
Wolfgang Bumiller
49bb172a09 folder: change ~ for floats too 2013-11-14 11:41:11 +01:00
Dale Weiler
73c4015046 Fix unary minus on vector 2013-11-13 08:57:14 -05:00
Dale Weiler
1900262df4 Use a branch instead of math on enum types 2013-11-13 04:57:18 -05:00
Wolfgang Bumiller
f43106017f bit more concise 2013-11-12 16:28:11 +01:00
Wolfgang Bumiller
eb4486a7ac working fold_op_cmp implementation 2013-11-12 16:15:02 +01:00
Wolfgang Bumiller
1d5229ee8c vec3_not: be consistent with compile-time behavior here 2013-11-12 16:05:54 +01:00
Wolfgang Bumiller
eee7d0aac1 vec3_pbool: or, not and 2013-11-12 15:56:04 +01:00