* add dtype class
* dtypes
* buffers are lazy
* dtype is tracked by lazybuffer and GenericShape
* fix types in llvm
* llvm store
* dtype tests
* fix tests maybe
* fix flop counter
* fix CI
* CI fix and check format
* fix dtype and dtype check
* fix custom test
* fix test graph
* simple convnext implementation
* shorter function names
* need to realize the random functions now
* creating an optimizer realizes all params
* assign contiguous
* fix lazy lazy
* why was i doing that...add convnext to tests
* LazyNumpyArray
* enable assert + comment
* no two tiny
* Refactor contraction and add unit tests
* Fix typo; Fix TestConv.test_elu failure due to some ones in old_shape
* Add push permute test cases
* Fix mypy type annotation check error
* Add contraction unit test; Reshape to higher dimension is not contraction
* clean up opt
* don't let global kernels get too small
* 8192 -> 1024
* disable local shape for clang
* fix can_merge
* unroll the 5x5 depthwise convs in op
* load float4 check
* behavior is correct without VALIDHACKS
* simple div and mod
* fix tests
* no negative variables
* alt form is correct
* still correct
* bug in mulnode
* at least validhacks works now
* cleanups
* test validhacks, and to_image_idx
* cache compare key
* tests and __neg__
* Less, LessOrEqual, Greater, GreaterOrEqual, Equal
* lint fix
* using built in functions
* overriding __eq__ breaks things
* backwards pass for less - foward only tests
* one other spot
* removing backwards for comparison ops to match pytorch
* raise runtime error
* more tests for comparison ops
* fixed the lineup
* added number upcast tests
* Add tests for random creation functions
* It worked on my machine!
* Rename to helper_same_distribution
* Remove extra line
* Add tests for equal distribution
* Test without scipy
* Do a different test for randn