K. Lange
0d28885009
Fix that one old test to not go through float()
2022-06-29 13:55:21 +09:00
K. Lange
e7ca71ec96
Support more special methods in doc generation
2022-06-29 13:53:31 +09:00
K. Lange
d968a91cc7
Cleanup missed setlice/delslice refs
2022-06-29 13:15:46 +09:00
K. Lange
563a2b117e
Update version suffix to -beta
2022-06-29 13:08:14 +09:00
K. Lange
fa452d606f
Cleanup macros for BIND_TRIPLET
2022-06-29 09:51:57 +09:00
K. Lange
4c5a584769
highlight 'long' as a type in rline
2022-06-29 09:47:46 +09:00
K. Lange
fd7bc2a79c
Internal long inspection methods
2022-06-29 09:46:41 +09:00
K. Lange
8c6273c803
long.__abs__
2022-06-29 09:45:52 +09:00
K. Lange
c5fa5cf490
Fix __pow__ loop order, missing scratch reg
2022-06-29 09:27:40 +09:00
K. Lange
5da27081fc
(-1) ** 0 is in fact 1
2022-06-29 08:33:40 +09:00
K. Lange
468fb09f5e
Implement __pow__ for integers using method described by HAC 14.79, as CPython does
2022-06-29 07:52:11 +09:00
K. Lange
978f09a32a
Add set.__xor__
2022-06-28 21:42:11 +09:00
K. Lange
edc86e2d21
Rudimentary float operations for longs; definitely more inaccurate than they could be
2022-06-28 13:23:49 +09:00
K. Lange
c670dd6e0e
Addition long (and int) functions, as per Python
2022-06-28 13:23:30 +09:00
K. Lange
107919024b
Collect a bunch of digits into a uint64_t first...
2022-06-28 07:48:10 +09:00
K. Lange
21cd0c8fbe
typo'd condition for converting negatives
2022-06-27 21:41:54 +09:00
K. Lange
f61922d155
long type
2022-06-27 20:40:24 +09:00
K. Lange
635dd442ba
Add method fallbacks for oct,hex,bin,abs,float; move int methods to class
2022-06-21 13:42:12 +09:00
K. Lange
82292d08b5
Optimize 'while True' and 'while 1' at a parse level
2022-06-20 08:46:30 +09:00
K. Lange
5e464b3d67
Upvalue closing only needs to happen once in CLOSE_MANY
2022-06-09 08:05:23 +09:00
K. Lange
4b021181bd
Bind a few new dynamic properties for code objects
2022-06-08 20:55:45 +09:00
K. Lange
2314a4ee6e
Rudimentary % formatter for strings
2022-06-04 23:27:51 +09:00
K. Lange
0e51103d26
__call__ must be one of these, let's skip the extra jumps and switch...
2022-06-04 20:44:58 +09:00
K. Lange
92c0d09999
Implement dict.__ior__
2022-06-04 20:28:20 +09:00
K. Lange
7d3df0d650
Cache binary operator methods, support inplace variants
2022-06-04 20:25:54 +09:00
K. Lange
ed31f1e314
Try some minor optimizations to function calls
2022-06-04 20:23:44 +09:00
K. Lange
3721ebc97c
shift-and-compare is probably better than mask & compare
2022-06-04 20:20:43 +09:00
K. Lange
248f54a8f2
Pull out attributeUnpack to a separate function because I may want to just get rid of it
2022-06-04 16:06:16 +09:00
K. Lange
cdcfb63f41
New '__options__' psuedo-module with compile-time changes
2022-06-04 15:59:24 +09:00
K. Lange
b2846c13ce
(bench) python fasttimer should check for exceptions
2022-06-04 15:34:47 +09:00
K. Lange
cd25ada161
Less obtuse list.append() benchmark
2022-06-04 12:13:38 +09:00
K. Lange
75e0ec9e54
Fix up some syntax errors
2022-06-04 06:51:34 +09:00
K. Lange
3bfa32ac83
Print ^s for the whole width of a faulting symbol in a syntax error, looks cooler
2022-06-03 21:35:58 +09:00
K. Lange
4fd68ec5d1
Simplify rewinding infix operators
2022-06-03 16:52:48 +09:00
K. Lange
5f3a2b4747
Expose __args__ directly on codeobject
2022-06-03 16:19:36 +09:00
K. Lange
b4349303e9
Add more keywords to the stdlib highlighter
2022-06-03 13:45:12 +09:00
K. Lange
5a79f27b83
Fix incorrect OP_CLOSURE instruction size returned by dis.examine
2022-06-03 13:07:49 +09:00
K. Lange
9c25e200b8
Take the line number from the previously parsed token when build synthetics
2022-06-03 10:44:58 +09:00
K. Lange
bce994318c
(meta) upgrade github codeql workflow
2022-06-02 20:11:34 +09:00
K. Lange
48f9d34a9b
Tests for bound method edge cases
2022-06-02 14:34:40 +09:00
K. Lange
2e7bf54d9a
Bound methods can be bound to non-function callables
2022-06-02 14:34:40 +09:00
K. Lange
55849aa4f0
Fix edgecases around expanded calls to bound callables when no stack space is available
2022-06-02 14:34:40 +09:00
K. Lange
3bc8d72895
Take best-of-ten in most benchmarks, add inner_loop benchmarks
2022-06-02 08:01:55 +09:00
K. Lange
1ee63c15f6
Use a flag to mark classes not subclassable
...
A KrkInstance should always have a valid and correct allocSize
available from its class object, which for non-subclassable classes
like the ones representing stack values should be the size of a
normal instance, so that we can safely treat it as an instance
until it can get garbage collected when it is allocated before
the call to __init__ that replaces it with the right kind of
object (or raises an exception).
2022-05-31 18:41:00 +09:00
K. Lange
098b3168f3
prevent functions, codeobjects from being initialized; methods can be
2022-05-31 18:17:28 +09:00
K. Lange
fa2b2c053b
Merge flags
2022-05-31 17:31:35 +09:00
K. Lange
c785b2580e
kuroko.inspect_value() shows KrkValue byte representation
2022-05-31 16:11:41 +09:00
K. Lange
b3c693eae5
Disallow subclassing of some core types that are not subclasses of Instance
2022-05-31 07:34:19 +09:00
K. Lange
3f0522dd98
Change getsizeof calculations; stack-only values have 0 size
2022-05-31 07:34:00 +09:00
K. Lange
2437e73c82
Bad malloc size in putenv?
2022-05-31 07:02:21 +09:00