some optimize

This commit is contained in:
blueloveTH 2024-04-20 11:47:50 +08:00
parent 1d32d2b42a
commit 237fd57b66
2 changed files with 109 additions and 49 deletions

View File

@ -174,61 +174,61 @@ struct CString{
}; };
// unary operators // unary operators
const StrName __repr__ = StrName::get("__repr__"); extern const StrName __repr__;
const StrName __str__ = StrName::get("__str__"); extern const StrName __str__;
const StrName __hash__ = StrName::get("__hash__"); extern const StrName __hash__;
const StrName __len__ = StrName::get("__len__"); extern const StrName __len__;
const StrName __iter__ = StrName::get("__iter__"); extern const StrName __iter__;
const StrName __next__ = StrName::get("__next__"); extern const StrName __next__;
const StrName __neg__ = StrName::get("__neg__"); extern const StrName __neg__;
// logical operators // logical operators
const StrName __eq__ = StrName::get("__eq__"); extern const StrName __eq__;
const StrName __lt__ = StrName::get("__lt__"); extern const StrName __lt__;
const StrName __le__ = StrName::get("__le__"); extern const StrName __le__;
const StrName __gt__ = StrName::get("__gt__"); extern const StrName __gt__;
const StrName __ge__ = StrName::get("__ge__"); extern const StrName __ge__;
const StrName __contains__ = StrName::get("__contains__"); extern const StrName __contains__;
// binary operators // binary operators
const StrName __add__ = StrName::get("__add__"); extern const StrName __add__;
const StrName __radd__ = StrName::get("__radd__"); extern const StrName __radd__;
const StrName __sub__ = StrName::get("__sub__"); extern const StrName __sub__;
const StrName __rsub__ = StrName::get("__rsub__"); extern const StrName __rsub__;
const StrName __mul__ = StrName::get("__mul__"); extern const StrName __mul__;
const StrName __rmul__ = StrName::get("__rmul__"); extern const StrName __rmul__;
const StrName __truediv__ = StrName::get("__truediv__"); extern const StrName __truediv__;
const StrName __floordiv__ = StrName::get("__floordiv__"); extern const StrName __floordiv__;
const StrName __mod__ = StrName::get("__mod__"); extern const StrName __mod__;
const StrName __pow__ = StrName::get("__pow__"); extern const StrName __pow__;
const StrName __matmul__ = StrName::get("__matmul__"); extern const StrName __matmul__;
const StrName __lshift__ = StrName::get("__lshift__"); extern const StrName __lshift__;
const StrName __rshift__ = StrName::get("__rshift__"); extern const StrName __rshift__;
const StrName __and__ = StrName::get("__and__"); extern const StrName __and__;
const StrName __or__ = StrName::get("__or__"); extern const StrName __or__;
const StrName __xor__ = StrName::get("__xor__"); extern const StrName __xor__;
const StrName __invert__ = StrName::get("__invert__"); extern const StrName __invert__;
// indexer // indexer
const StrName __getitem__ = StrName::get("__getitem__"); extern const StrName __getitem__;
const StrName __setitem__ = StrName::get("__setitem__"); extern const StrName __setitem__;
const StrName __delitem__ = StrName::get("__delitem__"); extern const StrName __delitem__;
// specials // specials
const StrName __new__ = StrName::get("__new__"); extern const StrName __new__;
const StrName __init__ = StrName::get("__init__"); extern const StrName __init__;
const StrName __call__ = StrName::get("__call__"); extern const StrName __call__;
const StrName __divmod__ = StrName::get("__divmod__"); extern const StrName __divmod__;
const StrName __enter__ = StrName::get("__enter__"); extern const StrName __enter__;
const StrName __exit__ = StrName::get("__exit__"); extern const StrName __exit__;
const StrName __name__ = StrName::get("__name__"); extern const StrName __name__;
const StrName __all__ = StrName::get("__all__"); extern const StrName __all__;
const StrName __package__ = StrName::get("__package__"); extern const StrName __package__;
const StrName __path__ = StrName::get("__path__"); extern const StrName __path__;
const StrName __class__ = StrName::get("__class__"); extern const StrName __class__;
const StrName __missing__ = StrName::get("__missing__"); extern const StrName __missing__;
const StrName pk_id_add = StrName::get("add"); extern const StrName pk_id_add;
const StrName pk_id_set = StrName::get("set"); extern const StrName pk_id_set;
const StrName pk_id_long = StrName::get("long"); extern const StrName pk_id_long;
const StrName pk_id_complex = StrName::get("complex"); extern const StrName pk_id_complex;
#define DEF_SNAME(name) const static StrName name(#name) #define DEF_SNAME(name) const static StrName name(#name)

View File

@ -539,4 +539,64 @@ int utf8len(unsigned char c, bool suppress){
#undef PK_STR_ALLOCATE #undef PK_STR_ALLOCATE
#undef PK_STR_COPY_INIT #undef PK_STR_COPY_INIT
// unary operators
const StrName __repr__ = StrName::get("__repr__");
const StrName __str__ = StrName::get("__str__");
const StrName __hash__ = StrName::get("__hash__");
const StrName __len__ = StrName::get("__len__");
const StrName __iter__ = StrName::get("__iter__");
const StrName __next__ = StrName::get("__next__");
const StrName __neg__ = StrName::get("__neg__");
// logical operators
const StrName __eq__ = StrName::get("__eq__");
const StrName __lt__ = StrName::get("__lt__");
const StrName __le__ = StrName::get("__le__");
const StrName __gt__ = StrName::get("__gt__");
const StrName __ge__ = StrName::get("__ge__");
const StrName __contains__ = StrName::get("__contains__");
// binary operators
const StrName __add__ = StrName::get("__add__");
const StrName __radd__ = StrName::get("__radd__");
const StrName __sub__ = StrName::get("__sub__");
const StrName __rsub__ = StrName::get("__rsub__");
const StrName __mul__ = StrName::get("__mul__");
const StrName __rmul__ = StrName::get("__rmul__");
const StrName __truediv__ = StrName::get("__truediv__");
const StrName __floordiv__ = StrName::get("__floordiv__");
const StrName __mod__ = StrName::get("__mod__");
const StrName __pow__ = StrName::get("__pow__");
const StrName __matmul__ = StrName::get("__matmul__");
const StrName __lshift__ = StrName::get("__lshift__");
const StrName __rshift__ = StrName::get("__rshift__");
const StrName __and__ = StrName::get("__and__");
const StrName __or__ = StrName::get("__or__");
const StrName __xor__ = StrName::get("__xor__");
const StrName __invert__ = StrName::get("__invert__");
// indexer
const StrName __getitem__ = StrName::get("__getitem__");
const StrName __setitem__ = StrName::get("__setitem__");
const StrName __delitem__ = StrName::get("__delitem__");
// specials
const StrName __new__ = StrName::get("__new__");
const StrName __init__ = StrName::get("__init__");
const StrName __call__ = StrName::get("__call__");
const StrName __divmod__ = StrName::get("__divmod__");
const StrName __enter__ = StrName::get("__enter__");
const StrName __exit__ = StrName::get("__exit__");
const StrName __name__ = StrName::get("__name__");
const StrName __all__ = StrName::get("__all__");
const StrName __package__ = StrName::get("__package__");
const StrName __path__ = StrName::get("__path__");
const StrName __class__ = StrName::get("__class__");
const StrName __missing__ = StrName::get("__missing__");
const StrName pk_id_add = StrName::get("add");
const StrName pk_id_set = StrName::get("set");
const StrName pk_id_long = StrName::get("long");
const StrName pk_id_complex = StrName::get("complex");
} // namespace pkpy } // namespace pkpy