Core.Builtins
Builtin Function APIs
次のビルトイン関数APIは不安定と見なされていますが、Juliaプログラムの能力と動作を定義する基本的な定義を提供します。これらは通常、より高レベルの汎用APIを通じてアクセスされます。
Core.memoryrefnew
— FunctionCore.memoryrefnew(::GenericMemory)
Core.memoryrefnew(::GenericMemoryRef, index::Int, [boundscheck::Bool])
GenericMemory
のためのGenericMemoryRef
を返します。memoryref
を参照してください。
この関数はJulia 1.11以降が必要です。
Core.memoryrefoffset
— FunctionCore..memoryrefoffset(::GenericMemoryRef)
MemoryRef
を構築するために使用されたオフセットインデックスを返します。 memoryref
を参照してください。
この関数はJulia 1.11以降が必要です。
Core.memoryrefget
— FunctionCore.memoryrefget(::GenericMemoryRef, ordering::Symbol, boundscheck::Bool)
MemoryRef
に格納されている値を返し、Memory
が空の場合はBoundsError
をスローします。ref[]
を参照してください。指定されたメモリ順序は、isatomic
パラメータと互換性がある必要があります。
この関数はJulia 1.11以降が必要です。
Core.memoryrefset!
— FunctionCore.memoryrefset!(::GenericMemoryRef, value, ordering::Symbol, boundscheck::Bool)
MemoryRef
に値を格納し、Memory
が空の場合はBoundsError
をスローします。ref[] = value
を参照してください。指定されたメモリ順序は、isatomic
パラメータと互換性がある必要があります。
この関数はJulia 1.11以降が必要です。
Core.memoryref_isassigned
— FunctionCore.memoryref_isassigned(::GenericMemoryRef, ordering::Symbol, boundscheck::Bool)
MemoryRef
に値が格納されているかどうかを返し、Memory
が空の場合はfalseを返します。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
アトミックに操作を実行して、関数 op
を適用した後に MemoryRef
値を取得および設定します。
この関数は 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)
モジュール module
からバインディング name
の宣言された型を取得します。
この関数は Julia 1.9 以降が必要です。
Core.set_binding_type!
— FunctionCore.set_binding_type!(module::Module, name::Symbol, [type::Type])
モジュール module
内のバインディング name
の宣言された型を 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 オブジェクトモデルをエクスポートします。