Core.Builtins
Builtin Function APIs
次のビルトイン関数APIは不安定と見なされていますが、Juliaプログラムの能力と動作を定義する基本的な定義を提供します。これらは通常、より高レベルの汎用APIを通じてアクセスされます。
Core.memoryrefnew — FunctionCore.memoryrefnew(::GenericMemory)
Core.memoryrefnew(::GenericMemoryRef, index::Int, [boundscheck::Bool])GenericMemoryのためのGenericMemoryRefを返します。memoryrefを参照してください。
Core.memoryrefoffset — FunctionCore..memoryrefoffset(::GenericMemoryRef)MemoryRefを構築するために使用されたオフセットインデックスを返します。memoryrefを参照してください。
Core.memoryrefget — FunctionCore.memoryrefget(::GenericMemoryRef, ordering::Symbol, boundscheck::Bool)MemoryRefに格納されている値を返します。Memoryが空の場合はBoundsErrorをスローします。ref[]を参照してください。指定されたメモリ順序は、isatomicパラメータと互換性がある必要があります。
Core.memoryrefset! — FunctionCore.memoryrefset!(::GenericMemoryRef, value, ordering::Symbol, boundscheck::Bool)MemoryRefに値を格納し、Memoryが空の場合はBoundsErrorをスローします。ref[] = valueを参照してください。指定されたメモリ順序は、isatomicパラメータと互換性がある必要があります。
Core.memoryref_isassigned — FunctionCore.memoryref_isassigned(::GenericMemoryRef, ordering::Symbol, boundscheck::Bool)MemoryRefに値が格納されているかどうかを返し、Memoryが空の場合はfalseを返します。 isassigned(::Base.RefValue)、Core.memoryrefgetを参照してください。指定されたメモリ順序は、isatomicパラメータと互換性がある必要があります。
Core.memoryrefswap! — FunctionCore.memoryrefswap!(::GenericMemoryRef, value, ordering::Symbol, boundscheck::Bool)アトミックに操作を実行して、MemoryRef 値を同時に取得して設定します。
関連情報として swapproperty! と Core.memoryrefset! を参照してください。
Core.memoryrefmodify! — FunctionCore.memoryrefmodify!(::GenericMemoryRef, op, value, ordering::Symbol, boundscheck::Bool) -> Pairアトミックに操作を実行して、関数 op を適用した後に MemoryRef の値を取得して設定します。
他にも modifyproperty! と Core.memoryrefset! を参照してください。
Core.memoryrefreplace! — FunctionCore.memoryrefreplace!(::GenericMemoryRef, expected, desired,
success_order::Symbol, fail_order::Symbol=success_order, boundscheck::Bool) -> (; old, success::Bool)アトミックに操作を実行して、MemoryRef 値を取得し、条件付きで設定します。
関連情報として replaceproperty! と Core.memoryrefset! を参照してください。
Core.memoryrefsetonce! — FunctionCore.memoryrefsetonce!(::GenericMemoryRef, value,
success_order::Symbol, fail_order::Symbol=success_order, boundscheck::Bool) -> success::Bool与えられた値に MemoryRef を設定する操作を原子的に実行します。これは、以前に設定されていなかった場合のみ行われます。
関連情報として setpropertyonce! と Core.memoryrefset! を参照してください。
Core.Intrinsics.atomic_pointerref — FunctionCore.Intrinsics.atomic_pointerref(pointer::Ptr{T}, order::Symbol) --> Tunsafe_loadを参照してください。
Core.Intrinsics.atomic_pointerset — FunctionCore.Intrinsics.atomic_pointerset(pointer::Ptr{T}, new::T, order::Symbol) --> pointerunsafe_store!を参照してください。
Core.Intrinsics.atomic_pointerswap — FunctionCore.Intrinsics.atomic_pointerswap(pointer::Ptr{T}, new::T, order::Symbol) --> oldunsafe_swap!を参照してください。
Core.Intrinsics.atomic_pointermodify — FunctionCore.Intrinsics.atomic_pointermodify(pointer::Ptr{T}, function::(old::T,arg::S)->T, arg::S, order::Symbol) --> oldunsafe_modify!を参照してください。
Core.Intrinsics.atomic_pointerreplace — FunctionCore.Intrinsics.atomic_pointerreplace(pointer::Ptr{T}, expected::Any, new::T, success_order::Symbol, failure_order::Symbol) --> (old, cmp)unsafe_replace!を参照してください。
Core.get_binding_type — FunctionCore.get_binding_type(module::Module, name::Symbol)モジュール module からバインディング name の宣言された型を取得します。
Core.set_binding_type! — FunctionCore.set_binding_type!(module::Module, name::Symbol, [type::Type])モジュール module 内のバインディング name の宣言された型を type に設定します。バインディングがすでに type と等しくない型を持っている場合はエラーになります。type 引数が省略された場合、未設定であればバインディングの型を Any に設定しますが、エラーにはなりません。
Core.IntrinsicFunction — TypeCore.IntrinsicFunction <: Core.Builtin <: FunctionCore.IntrinsicFunction 関数は、Julia プログラムの能力と動作を定義する基本的なプリミティブをいくつか定義します。
Core.Intrinsics — ModuleCore.IntrinsicsCore.IntrinsicsモジュールはCore.IntrinsicFunctionオブジェクトを保持しています。
Core.IR — ModuleCore.IRCore.IR モジュールは IR オブジェクトモデルをエクスポートします。