mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[stdlib] Make the rest of the scalar properties native (#40233)
* Factor out the scalar bit array index mechanism * Implement native numeric scalar properties * Implement native scalar name aliases * Implement native scalar mappings * Implement native scalar names * Implement native scalar age * Implement native scalar general category * Address Michael's and others comments fix special mappings fix bug
This commit is contained in:
@@ -21,6 +21,26 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define SWIFT_STDLIB_LARGEST_NAME_COUNT 88
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Utilities
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
__swift_intptr_t _swift_stdlib_getMphIdx(__swift_uint32_t scalar,
|
||||
__swift_intptr_t levels,
|
||||
const __swift_uint64_t * const *keys,
|
||||
const __swift_uint16_t * const *ranks,
|
||||
const __swift_uint16_t * const sizes);
|
||||
|
||||
__swift_intptr_t _swift_stdlib_getScalarBitArrayIdx(__swift_uint32_t scalar,
|
||||
const __swift_uint64_t *bitArrays,
|
||||
const __swift_uint16_t *ranks);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Normalization
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
SWIFT_RUNTIME_STDLIB_INTERNAL
|
||||
__swift_uint16_t _swift_stdlib_getNormData(__swift_uint32_t scalar);
|
||||
|
||||
@@ -34,19 +54,50 @@ SWIFT_RUNTIME_STDLIB_INTERNAL
|
||||
__swift_uint32_t _swift_stdlib_getComposition(__swift_uint32_t x,
|
||||
__swift_uint32_t y);
|
||||
|
||||
SWIFT_RUNTIME_STDLIB_INTERNAL
|
||||
__swift_intptr_t _swift_stdlib_getMphIdx(__swift_uint32_t scalar,
|
||||
__swift_intptr_t levels,
|
||||
const __swift_uint64_t * const *keys,
|
||||
const __swift_uint16_t * const *ranks,
|
||||
const __swift_uint16_t * const sizes);
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Grapheme Breaking
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
|
||||
SWIFT_RUNTIME_STDLIB_INTERNAL
|
||||
__swift_uint8_t _swift_stdlib_getGraphemeBreakProperty(__swift_uint32_t scalar);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Unicode.Scalar.Properties
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
SWIFT_RUNTIME_STDLIB_INTERNAL
|
||||
__swift_uint64_t _swift_stdlib_getBinaryProperties(__swift_uint32_t scalar);
|
||||
|
||||
SWIFT_RUNTIME_STDLIB_INTERNAL
|
||||
__swift_uint8_t _swift_stdlib_getNumericType(__swift_uint32_t scalar);
|
||||
|
||||
SWIFT_RUNTIME_STDLIB_INTERNAL
|
||||
double _swift_stdlib_getNumericValue(__swift_uint32_t scalar);
|
||||
|
||||
SWIFT_RUNTIME_STDLIB_INTERNAL
|
||||
const char *_swift_stdlib_getNameAlias(__swift_uint32_t scalar);
|
||||
|
||||
SWIFT_RUNTIME_STDLIB_INTERNAL
|
||||
__swift_int32_t _swift_stdlib_getMapping(__swift_uint32_t scalar,
|
||||
__swift_uint8_t mapping);
|
||||
|
||||
SWIFT_RUNTIME_STDLIB_INTERNAL
|
||||
const __swift_uint8_t *_swift_stdlib_getSpecialMapping(__swift_uint32_t scalar,
|
||||
__swift_uint8_t mapping,
|
||||
__swift_intptr_t *length);
|
||||
|
||||
SWIFT_RUNTIME_STDLIB_INTERNAL
|
||||
__swift_intptr_t _swift_stdlib_getScalarName(__swift_uint32_t scalar,
|
||||
__swift_uint8_t *buffer,
|
||||
__swift_intptr_t capacity);
|
||||
|
||||
SWIFT_RUNTIME_STDLIB_INTERNAL
|
||||
__swift_uint16_t _swift_stdlib_getAge(__swift_uint32_t scalar);
|
||||
|
||||
SWIFT_RUNTIME_STDLIB_INTERNAL
|
||||
__swift_uint8_t _swift_stdlib_getGeneralCategory(__swift_uint32_t scalar);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user