Core.Builtins
Builtin Function APIs
Следующие встроенные функции API считаются нестабильными, но предоставляют основные определения того, что определяет возможности и поведение программы на Julia. Обычно к ним обращаются через более высокий уровень общего API.
Core.memoryrefnew
— FunctionCore.memoryrefnew(::GenericMemory)
Core.memoryrefnew(::GenericMemoryRef, index::Int, [boundscheck::Bool])
Возвращает GenericMemoryRef
для GenericMemory
. См. memoryref
.
Эта функция требует Julia 1.11 или более поздней версии.
Core.memoryrefoffset
— FunctionCore..memoryrefoffset(::GenericMemoryRef)
Возвращает индекс смещения, который использовался для создания MemoryRef
. См. memoryref
.
Эта функция требует Julia 1.11 или более поздней версии.
Core.memoryrefget
— FunctionCore.memoryrefget(::GenericMemoryRef, ordering::Symbol, boundscheck::Bool)
Возвращает значение, хранящееся в MemoryRef
, выбрасывая BoundsError
, если Memory
пуст. См. ref[]
. Указанный порядок памяти должен быть совместим с параметром isatomic
.
Эта функция требует Julia 1.11 или более поздней версии.
Core.memoryrefset!
— FunctionCore.memoryrefset!(::GenericMemoryRef, value, ordering::Symbol, boundscheck::Bool)
Сохраните значение в MemoryRef
, выбрасывая BoundsError
, если Memory
пуст. См. ref[] = value
. Указанный порядок памяти должен быть совместим с параметром isatomic
.
Эта функция требует Julia 1.11 или более поздней версии.
Core.memoryref_isassigned
— FunctionCore.memoryref_isassigned(::GenericMemoryRef, ordering::Symbol, boundscheck::Bool)
Возвращает, есть ли значение, хранящееся в MemoryRef
, возвращая false, если Memory
пуст. См. isassigned(::Base.RefValue)
, Core.memoryrefget
. Указанный порядок памяти должен быть совместим с параметром isatomic
.
Эта функция требует Julia 1.11 или более поздней версии.
Core.memoryrefswap!
— FunctionCore.memoryrefswap!(::GenericMemoryRef, value, ordering::Symbol, boundscheck::Bool)
Атомарно выполнить операции для одновременного получения и установки значения MemoryRef
.
Эта функция требует Julia 1.11 или более поздней версии.
См. также swapproperty!
и Core.memoryrefset!
.
Core.memoryrefmodify!
— FunctionCore.memoryrefmodify!(::GenericMemoryRef, op, value, ordering::Symbol, boundscheck::Bool) -> Pair
Атомарно выполнить операции получения и установки значения MemoryRef
после применения функции op
.
Эта функция требует Julia 1.11 или более поздней версии.
См. также modifyproperty!
и Core.memoryrefset!
.
Core.memoryrefreplace!
— FunctionCore.memoryrefreplace!(::GenericMemoryRef, expected, desired,
success_order::Symbol, fail_order::Symbol=success_order, boundscheck::Bool) -> (; old, success::Bool)
Атомарно выполнить операции для получения и условной установки значения MemoryRef
.
Эта функция требует Julia 1.11 или более поздней версии.
Смотрите также replaceproperty!
и Core.memoryrefset!
.
Core.memoryrefsetonce!
— FunctionCore.memoryrefsetonce!(::GenericMemoryRef, value,
success_order::Symbol, fail_order::Symbol=success_order, boundscheck::Bool) -> success::Bool
Атомарно выполнить операции для установки MemoryRef
в заданное значение, только если он ранее не был установлен.
Эта функция требует Julia 1.11 или более поздней версии.
См. также setpropertyonce!
и Core.memoryrefset!
.
Core.Intrinsics.atomic_pointerref
— FunctionCore.Intrinsics.atomic_pointerref(pointer::Ptr{T}, order::Symbol) --> T
Эта функция требует Julia 1.7 или более поздней версии.
См. unsafe_load
.
Core.Intrinsics.atomic_pointerset
— FunctionCore.Intrinsics.atomic_pointerset(pointer::Ptr{T}, new::T, order::Symbol) --> pointer
Эта функция требует Julia 1.7 или более поздней версии.
См. unsafe_store!
.
Core.Intrinsics.atomic_pointerswap
— FunctionCore.Intrinsics.atomic_pointerswap(pointer::Ptr{T}, new::T, order::Symbol) --> old
Эта функция требует Julia 1.7 или более поздней версии.
См. unsafe_swap!
.
Core.Intrinsics.atomic_pointermodify
— FunctionCore.Intrinsics.atomic_pointermodify(pointer::Ptr{T}, function::(old::T,arg::S)->T, arg::S, order::Symbol) --> old
Эта функция требует Julia 1.7 или более поздней версии.
См. unsafe_modify!
.
Core.Intrinsics.atomic_pointerreplace
— FunctionCore.Intrinsics.atomic_pointerreplace(pointer::Ptr{T}, expected::Any, new::T, success_order::Symbol, failure_order::Symbol) --> (old, cmp)
Эта функция требует Julia 1.7 или более поздней версии.
См. unsafe_replace!
.
Core.get_binding_type
— FunctionCore.get_binding_type(module::Module, name::Symbol)
Получите объявленный тип связывания name
из модуля module
.
Эта функция требует Julia 1.9 или более поздней версии.
Core.set_binding_type!
— FunctionCore.set_binding_type!(module::Module, name::Symbol, [type::Type])
Установите объявленный тип связывания name
в модуле module
на type
. Произойдет ошибка, если связывание уже имеет тип, который не эквивалентен type
. Если аргумент type
отсутствует, установите тип связывания на Any
, если он не установлен, но не вызывайте ошибку.
Эта функция требует Julia 1.9 или более поздней версии.
Core.IntrinsicFunction
— TypeCore.IntrinsicFunction <: Core.Builtin <: Function
Функция Core.IntrinsicFunction
определяет некоторые базовые примитивы для того, что определяет способности и поведение программы на Julia.
Core.Intrinsics
— ModuleCore.Intrinsics
Модуль Core.Intrinsics
содержит объекты Core.IntrinsicFunction
.
Core.IR
— ModuleCore.IR
Модуль Core.IR
экспортирует объектную модель IR.