Julia 中文文档数学运算和初等函数 julia> -0.0 == 0.0 true julia> isequal(-0.0, 0.0) false 有符号整数、无符号整数以及浮点数之间的混合类型比较是很棘手的。开发者费了很大精力来确保 Julia 在这个问题上做的是正确的。 对于其它类型,isequal 会默认调用 ==,所以如果你想给自己的类型定义相等,那么就只需要为 == 增加一个方法。如果你想定义一个 适用的通用调用 (像 similar 和-) 实现的。 这只是建议正交化你的方法的一个更加复杂的变种而已。 当这个方法不可行时,这就值得与其他开发者开始讨论如果解决歧义;只是因为一个函数先定义并 不总是意味着他不能改变或者被移除。作为最后一个手段,开发者可以定义” 创可贴” 方法 -(A::MyArrayType{T}, b::Date) where {T<:Date} = ... 可以暴力解决歧义。 仍可以被手动调用。此命令行标记的状态会 被传递给 Pkg.build,禁止其在安装、更新、显式构建包时触发自动预编译。 Chapter 18 文档 自 Julia 0.4 开始,Julia 允许开发者和用户,使用其内置的文档系统更加便捷地为函数、类型以及其他 对象编写文档。 基础语法很简单:紧接在对象(函数,宏,类型和实例)之前的字符串都会被认为是对应对象的文 档(称作 docstrings)。注意不要在0 码力 | 1238 页 | 4.59 MB | 1 年前3
Julia v1.2.0 Documentationdot product using a BLAS func�on. function compute_dot(DX::Vector{Float64}, DY::Vector{Float64}) @assert length(DX) == length(DY) n = length(DX) incx = incy = 1 product = ccall((:ddot_, "libLAPACK"), Float64, (Ref{Int32}, Ptr{Float64}, Ref{Int32}, Ptr{Float64}, Ref{Int32}), n, DX, incx, DY, incy) return product end 324 CHAPTER 34. CALLING C AND FORTRAN CODE The meaning of prefix & is not quite (u::Vector) n = length(u) dx = 1.0 / (n-1) @fastmath @inbounds @simd for i in 1:n #by asserting that `u` is a `Vector` we can assume it has 1-based indexing �→ u[i] = sin(2pi*dx*i) end end function deriv0 码力 | 1250 页 | 4.29 MB | 1 年前3
Julia 1.2.0 DEV Documentationdot product using a BLAS func�on. function compute_dot(DX::Vector{Float64}, DY::Vector{Float64}) @assert length(DX) == length(DY) n = length(DX) incx = incy = 1 product = ccall((:ddot_, "libLAPACK"), Float64, (Ref{Int32}, Ptr{Float64}, Ref{Int32}, Ptr{Float64}, Ref{Int32}), n, DX, incx, DY, incy) return product end 326 CHAPTER 35. CALLING C AND FORTRAN CODE The meaning of prefix & is not quite (u::Vector) n = length(u) dx = 1.0 / (n-1) @fastmath @inbounds @simd for i in 1:n #by asserting that `u` is a `Vector` we can assume it has 1-based indexing �→ u[i] = sin(2pi*dx*i) end end function deriv0 码力 | 1252 页 | 4.28 MB | 1 年前3
julia 1.10.10function compute_dot(DX::Vector{Float64}, DY::Vector{Float64}) @assert length(DX) == length(DY) n = length(DX) incx = incy = 1 product = @ccall "libLAPACK".ddot( n::Ref{Int32}, DX::Ptr{Float64}, incx::Ref{Int32} (u::Vector) n = length(u) dx = 1.0 / (n-1) @fastmath @inbounds @simd for i in 1:n #by asserting that `u` is a `Vector` we can assume it has 1-based indexing �→ u[i] = sin(2pi*dx*i) end end function (u::Vector, du) n = length(u) dx = 1.0 / (n-1) @fastmath @inbounds du[1] = (u[2] - u[1]) / dx @fastmath @inbounds @simd for i in 2:n-1 du[i] = (u[i+1] - u[i-1]) / (2*dx) end @fastmath @inbounds du[n]0 码力 | 1692 页 | 6.34 MB | 3 月前3
Julia 1.10.9function compute_dot(DX::Vector{Float64}, DY::Vector{Float64}) @assert length(DX) == length(DY) n = length(DX) incx = incy = 1 product = @ccall "libLAPACK".ddot( n::Ref{Int32}, DX::Ptr{Float64}, incx::Ref{Int32} (u::Vector) n = length(u) dx = 1.0 / (n-1) @fastmath @inbounds @simd for i in 1:n #by asserting that `u` is a `Vector` we can assume it has 1-based indexing �→ u[i] = sin(2pi*dx*i) end end function (u::Vector, du) n = length(u) dx = 1.0 / (n-1) @fastmath @inbounds du[1] = (u[2] - u[1]) / dx @fastmath @inbounds @simd for i in 2:n-1 du[i] = (u[i+1] - u[i-1]) / (2*dx) end @fastmath @inbounds du[n]0 码力 | 1692 页 | 6.34 MB | 3 月前3
Julia v1.7.3 DocumentationFortran compiler implementations: function compute_dot(DX::Vector{Float64}, DY::Vector{Float64}) @assert length(DX) == length(DY) n = length(DX) incx = incy = 1 product = ccall((:ddot_, "libLAPACK") "libLAPACK"), Float64, (Ref{Int32}, Ptr{Float64}, Ref{Int32}, Ptr{Float64}, Ref{Int32}), n, DX, incx, DY, incy) return product end 27.6 Garbage Collection Safety When passing data to a ccall, it is best to (u::Vector) n = length(u) dx = 1.0 / (n-1) @fastmath @inbounds @simd for i in 1:n #by asserting that `u` is a `Vector` we can assume it has 1-based indexing �→ u[i] = sin(2pi*dx*i) end end function0 码力 | 1378 页 | 4.74 MB | 1 年前3
Julia 1.8.0 DEV DocumentationFortran compiler implementations: function compute_dot(DX::Vector{Float64}, DY::Vector{Float64}) @assert length(DX) == length(DY) n = length(DX) incx = incy = 1 product = ccall((:ddot_, "libLAPACK") "libLAPACK"), Float64, (Ref{Int32}, Ptr{Float64}, Ref{Int32}, Ptr{Float64}, Ref{Int32}), n, DX, incx, DY, incy) return product end 27.6 Garbage Collection Safety When passing data to a ccall, it is best to (u::Vector) n = length(u) dx = 1.0 / (n-1) @fastmath @inbounds @simd for i in 1:n #by asserting that `u` is a `Vector` we can assume it has 1-based indexing �→ u[i] = sin(2pi*dx*i) end end function0 码力 | 1463 页 | 5.01 MB | 1 年前3
Julia 1.7.0 DocumentationFortran compiler implementations: function compute_dot(DX::Vector{Float64}, DY::Vector{Float64}) @assert length(DX) == length(DY) n = length(DX) incx = incy = 1 product = ccall((:ddot_, "libLAPACK") "libLAPACK"), Float64, (Ref{Int32}, Ptr{Float64}, Ref{Int32}, Ptr{Float64}, Ref{Int32}), n, DX, incx, DY, incy) return product end 27.6 Garbage Collection Safety When passing data to a ccall, it is best to (u::Vector) n = length(u) dx = 1.0 / (n-1) @fastmath @inbounds @simd for i in 1:n #by asserting that `u` is a `Vector` we can assume it has 1-based indexing �→ u[i] = sin(2pi*dx*i) end end function0 码力 | 1378 页 | 4.74 MB | 1 年前3
Julia 1.7.2 DocumentationFortran compiler implementations: function compute_dot(DX::Vector{Float64}, DY::Vector{Float64}) @assert length(DX) == length(DY) n = length(DX) incx = incy = 1 product = ccall((:ddot_, "libLAPACK") "libLAPACK"), Float64, (Ref{Int32}, Ptr{Float64}, Ref{Int32}, Ptr{Float64}, Ref{Int32}), n, DX, incx, DY, incy) return product end 27.6 Garbage Collection Safety When passing data to a ccall, it is best to (u::Vector) n = length(u) dx = 1.0 / (n-1) @fastmath @inbounds @simd for i in 1:n #by asserting that `u` is a `Vector` we can assume it has 1-based indexing �→ u[i] = sin(2pi*dx*i) end end function0 码力 | 1378 页 | 4.74 MB | 1 年前3
Julia 1.7.1 DocumentationFortran compiler implementations: function compute_dot(DX::Vector{Float64}, DY::Vector{Float64}) @assert length(DX) == length(DY) n = length(DX) incx = incy = 1 product = ccall((:ddot_, "libLAPACK") "libLAPACK"), Float64, (Ref{Int32}, Ptr{Float64}, Ref{Int32}, Ptr{Float64}, Ref{Int32}), n, DX, incx, DY, incy) return product end 27.6 Garbage Collection Safety When passing data to a ccall, it is best to (u::Vector) n = length(u) dx = 1.0 / (n-1) @fastmath @inbounds @simd for i in 1:n #by asserting that `u` is a `Vector` we can assume it has 1-based indexing �→ u[i] = sin(2pi*dx*i) end end function0 码力 | 1378 页 | 4.74 MB | 1 年前3
共 87 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9













