#
# = NArray compatibilities
# === {}[link:index.html"name="0.1] Contents:
# 1. {Data type conversions}[link:files/rdoc/narray_rdoc.html#1]
# 1. {Methods which accepts NArray}[link:files/rdoc/narray_rdoc.html#2]
#
# == {}[link:index.html"name="1] Data type conversions
# === {}[link:index.html"name="1.1] GSL to NArray
#
# ---
# * GSL::Vector#to_na
# * GSL::Vector#to_nvector
# * GSL::Vector::Complex#to_na
# * GSL::Vector::Complex#to_nvector
# * GSL::Matrix#to_na
# * GSL::Matrix#to_nmatrix
#
# Convert GSL objects to NArray. The data contained by the GSL objects
# are copied to a newly allocated memory block of the NArray objects created.
#
# ---
# * GSL::Vector#to_na_ref
# * GSL::Vector#to_nvector_ref
# * GSL::Vector::Complex#to_na_ref
# * GSL::Vector::Complex#to_nvector_ref
# * GSL::Matrix#to_na_ref
# * GSL::Matrix#to_nmatrix_ref
#
# Create NArray-ref objects from GSL data. The memory block of the GSL
# objects are shared with the NArray-ref objects.
#
# Example:
# >> v = Vector::Int[0..5]
# => GSL::Vector::Int
# [ 0 1 2 3 4 5 ]
# >> na = v.to_nvector_ref
# => NVector(ref).int(6):
# [ 0, 1, 2, 3, 4, 5 ]
# >> na[3] = 999
# => 999
# >> v
# => GSL::Vector::Int
# [ 0 1 2 999 4 5 ]
#
# === {}[link:index.html"name="1.2] NArray to GSL
# ---
# * NArray#to_gv
# * NArray#to_gm
#
# NArray#to_gv converts NArray objects to GSL::Vector or
# GSL::Vector::Complex. NArray#to_gm converts NArray
# objects to GSL::Matrix. The data contained by the NArray objects
# are copied to a newly allocated memory block of the GSL objects created.
#
# ---
# * NArray#to_gv_view
# * NArray#to_gm_view
#
# Create GSL::Vector::View or GSL::Matrix::View objects from NArray.
# The memory block of the NArray objects are shared with the View objects.
#
# Example:
# >> na = NArray[0, 1, 2, 3, 4, 5]
# => NArray.int(6):
# [ 0, 1, 2, 3, 4, 5 ]
# >> b = na.to_gv_int_view
# => GSL::Vector::Int::View
# [ 0 1 2 3 4 5 ]
# >> b[2] = -99
# => -99
# >> na
# => NArray.int(6):
# [ 0, 1, -99, 3, 4, 5 ]
#
# == {}[link:index.html"name="2] Methods which accepts NArray
# === {}[link:index.html"name="2.1] GSL module
# ---
# * GSL::graph()
# * GSL::log1p(x)
# * GSL::expm1(x)
# * GSL::hypot(x, y)
# * GSL::acosh(x)
# * GSL::asinh(x)
# * GSL::atanh(x)
# * GSL::pow(x, a)
# * GSL::pow_int(x, n)
# * GSL::pow_2(x), ..., GSL::pow_9(x)
#
#
# === {}[link:index.html"name="2.2] GSL::Sf module
# ---
# * {Any}[link:files/rdoc/sf_rdoc.html]
#
# === {}[link:index.html"name="2.3] GSL::Linalg module
# ---
# * GSL::Linalg::LU.decomp(na)
# * GSL::Linalg::LU.solve(lu, b)
# * GSL::Linalg::LU.svx(lu, bx)
# * GSL::Linalg::LU.det(lu, sign)
# * GSL::Linalg::LU.lndet(lu)
# * GSL::Linalg::LU.invert(lu, perm)
# * GSL::Linalg::QR.decomp(m)
# * GSL::Linalg::QR.solve(qr, tau, b)
# * GSL::Linalg::QR.svx(qr, tau, bx)
# * GSL::Linalg::SV.decomp(m)
# * GSL::Linalg::SV.solve(u, v, s, b)
# * GSL::Linalg::SV.svx(u, v, s, bx)
# * GSL::Linalg::Cholesky.decomp(m)
# * GSL::Linalg::Cholesky.solve(u, v, s, b)
# * GSL::Linalg::Cholesky.svx(u, v, s, bx)
# * GSL::Linalg::HH.solve(m, b)
# * GSL::Linalg::HH.svx(m, bx)
#
#
# === {}[link:index.html"name="2.4] GSL::Eigen module
# ---
# * GSL::Eigen::symm(na)
# * GSL::Eigen::symmv(na)
#
#
# === {}[link:index.html"name="2.5] GSL::FFT module
# ---
# * {Many}[link:files/rdoc/FFT_rdoc.html]
#
# === {}[link:index.html"name="2.6] GSL::Function class
# ---
# * GSL::Function#eval
# * GSL::Function#deriv_central(x, h)
# * GSL::Function#deriv_forward(x, h)
# * GSL::Function#deriv_backward(x, h)
# * GSL::Function#diff_central(x, h)
# * GSL::Function#diff_forward(x, h)
# * GSL::Function#diff_backward(x, h)
#
#
# === {}[link:index.html"name="2.7] GSL::Ran and GSL::Cdf module
# ---
# * {Many}[link:files/rdoc/randist_rdoc.html]
#
# === {}[link:index.html"name="2.8] GSL::Stats module
# ---
# * {Any}[link:files/rdoc/stats_rdoc.html]
#
# === {}[link:index.html"name="2.9] GSL::Interp and GSL::Spline class
# ---
# * GSL::Interp#init
# * GSL::Interp#eval
# * GSL::Spline#init
# * GSL::Spline#eval
#
#
# === {}[link:index.html"name="2.10] GSL::Deriv and GSL::Diff module
# ---
# * GSL::Deriv.central(f, x, h)
# * GSL::Deriv.forward(f, x, h)
# * GSL::Deriv.backward(f, x, h)
# * GSL::Diff.central(f, x, h)
# * GSL::Diff.forward(f, x, h)
# * GSL::Diff.backward(f, x, h)
#
#
# === {}[link:index.html"name="2.11] GSL::Cheb class
# ---
# * GSL::Cheb#eval(x)
# * GSL::Cheb#eval_n(n, x)
#
#
# === {}[link:index.html"name="2.12] GSL::Wavelet class
# ---
# * {Many}[link:files/rdoc/wavelet_rdoc.html]
#
# {prev}[link:files/rdoc/tensor_rdoc.html]
#
# {Reference index}[link:files/rdoc/ref_rdoc.html]
# {top}[link:files/rdoc/index_rdoc.html]
#
#