mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 10:31:50 +00:00
added more new views (viewers) for bytearray (again both to Lua & Russian docs)
This commit is contained in:
parent
9fc94e40b2
commit
457fc57349
3 changed files with 18 additions and 4 deletions
|
|
@ -55,15 +55,19 @@ bytes:move(fromindex: posint, toindex: posint, size: posint)
|
|||
|
||||
Это "вьюшки" поверх Bytearray, которые интерпретируют его байты как массив чисел другого размера - **без копирования данных**.
|
||||
|
||||
Не имеет своих методов, является просто объектной ссылкой на оригинальный Bytearray.
|
||||
Практически не имеют своих методов, являются простыми объектными ссылками на оригинальный Bytearray.
|
||||
|
||||
| Класс | Тип элементов | Размер |
|
||||
| ------------ | ------------------ | --------- |
|
||||
| `I8view` | `int8_t` | 1 байт |
|
||||
| `I16view` | `int16_t` | 2 байта |
|
||||
| `U16view` | `uint16_t` | 2 байта |
|
||||
| `I32view` | `int32_t` | 4 байта |
|
||||
| `U32view` | `uint32_t` | 4 байта |
|
||||
| `I64view` | `int64_t` | 8 байт |
|
||||
| `U64view` | `uint64_t` | 8 байт |
|
||||
| `FLTview` | `float` | 4 байта* |
|
||||
| `DBLview` | `double` | 8 байт* |
|
||||
|
||||
<small>* Размеры "оригинальных" C-шных типов являются платформозависимыми и их точный размер не описан в стандарте языка. В данной таблице предоставлены наиболее распространённые размеры типов.</small>
|
||||
|
||||
|
|
@ -77,9 +81,7 @@ bytes:move(fromindex: posint, toindex: posint, size: posint)
|
|||
view:typesize() -> posint
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Пример использования
|
||||
## Пример использования
|
||||
|
||||
```lua
|
||||
local bytes = Bytearray({1, 0, 2, 0, 250, 255})
|
||||
|
|
|
|||
|
|
@ -352,19 +352,27 @@ local function create_FFIview_class(name, typename)
|
|||
end
|
||||
end
|
||||
|
||||
local FFII8view = create_FFIview_class("FFII8view", "int8_t")
|
||||
local FFII16view = create_FFIview_class("FFII16view", "int16_t")
|
||||
local FFIU16view = create_FFIview_class("FFIU16view", "uint16_t")
|
||||
local FFII32view = create_FFIview_class("FFII32view", "int32_t")
|
||||
local FFIU32view = create_FFIview_class("FFIU32view", "uint32_t")
|
||||
local FFII64view = create_FFIview_class("FFII32view", "int64_t")
|
||||
local FFIU64view = create_FFIview_class("FFIU32view", "uint64_t")
|
||||
local FFIFLTview = create_FFIview_class("FFIFLTview", "float")
|
||||
local FFIDBLview = create_FFIview_class("FFIDBLview", "double")
|
||||
|
||||
return {
|
||||
FFIBytearray = setmetatable(FFIBytearray, FFIBytearray),
|
||||
FFIBytearray_as_string = FFIBytearray_as_string,
|
||||
FFIBytearray_as_ptr = FFIBytearray_as_ptr,
|
||||
FFII8view = FFII8view,
|
||||
FFIU16view = FFIU16view,
|
||||
FFII16view = FFII16view,
|
||||
FFIU32view = FFIU32view,
|
||||
FFII32view = FFII32view,
|
||||
FFIU64view = FFIU64view,
|
||||
FFII64view = FFII64view,
|
||||
FFIFLTview = FFIFLTview,
|
||||
FFIDBLview = FFIDBLview,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -310,11 +310,15 @@ local bytearray = require "core:internal/bytearray"
|
|||
Bytearray = bytearray.FFIBytearray
|
||||
Bytearray_as_string = bytearray.FFIBytearray_as_string
|
||||
Bytearray_as_ptr = bytearray.FFIBytearray_as_ptr
|
||||
I8view = bytearray.FFII8view
|
||||
U16view = bytearray.FFIU16view
|
||||
I16view = bytearray.FFII16view
|
||||
U32view = bytearray.FFIU32view
|
||||
I32view = bytearray.FFII32view
|
||||
U64view = bytearray.FFIU64view
|
||||
I64view = bytearray.FFII64view
|
||||
FLTview = bytearray.FFIFLTview
|
||||
DBLview = bytearray.FFIDBLview
|
||||
Bytearray_construct = function(...) return Bytearray(...) end
|
||||
|
||||
bit.compile = require "core:bitwise/compiler"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue