예제 #1
0
파일: linalg.go 프로젝트: postfix/gsl-1
func HouseholderMh(tau float64, v *vector.GslVector, a *matrix.GslMatrix) int32 {
	return int32(C.gsl_linalg_householder_mh(C.double(tau), (*C.gsl_vector)(unsafe.Pointer(v.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(a.Ptr()))))
}
예제 #2
0
파일: fit.go 프로젝트: postfix/gsl-1
func GslMultifitRobustEst(x *vector.GslVector, c *vector.GslVector, cov *matrix.GslMatrix) (int32, float64, float64) {
	var _outptr_3 C.double
	var _outptr_4 C.double
	_result := int32(C.gsl_multifit_robust_est((*C.gsl_vector)(unsafe.Pointer(x.Ptr())), (*C.gsl_vector)(unsafe.Pointer(c.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(cov.Ptr())), &_outptr_3, &_outptr_4))
	return _result, *(*float64)(unsafe.Pointer(&_outptr_3)), *(*float64)(unsafe.Pointer(&_outptr_4))
}
예제 #3
0
파일: wavelet.go 프로젝트: dtromb/gogsl
func Wavelet2dTransformMatrix(w *GslWavelet, m *matrix.GslMatrix, dir GslWaveletDirection, work *GslWaveletWorkspace) int32 {
	return int32(C.gsl_wavelet2d_transform_matrix((*C.gsl_wavelet)(unsafe.Pointer(w.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(m.Ptr())), C.gsl_wavelet_direction(dir), (*C.gsl_wavelet_workspace)(unsafe.Pointer(work.Ptr()))))
}
예제 #4
0
파일: fit.go 프로젝트: postfix/gsl-1
func GslMultifitWlinear(x *matrix.GslMatrix, w *vector.GslVector, y *vector.GslVector, c *vector.GslVector, cov *matrix.GslMatrix, work *GslMultifitLinearWorkspace) (int32, float64) {
	var _outptr_5 C.double
	_result := int32(C.gsl_multifit_wlinear((*C.gsl_matrix)(unsafe.Pointer(x.Ptr())), (*C.gsl_vector)(unsafe.Pointer(w.Ptr())), (*C.gsl_vector)(unsafe.Pointer(y.Ptr())), (*C.gsl_vector)(unsafe.Pointer(c.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(cov.Ptr())), &_outptr_5, (*C.gsl_multifit_linear_workspace)(unsafe.Pointer(work.Ptr()))))
	return _result, *(*float64)(unsafe.Pointer(&_outptr_5))
}
예제 #5
0
파일: fit.go 프로젝트: postfix/gsl-1
func GslMultifitLinearResiduals(x *matrix.GslMatrix, y *vector.GslVector, c *vector.GslVector, r *vector.GslVector) int32 {
	return int32(C.gsl_multifit_linear_residuals((*C.gsl_matrix)(unsafe.Pointer(x.Ptr())), (*C.gsl_vector)(unsafe.Pointer(y.Ptr())), (*C.gsl_vector)(unsafe.Pointer(c.Ptr())), (*C.gsl_vector)(unsafe.Pointer(r.Ptr()))))
}
예제 #6
0
파일: blas.go 프로젝트: postfix/gsl-1
func Dsymm(side Side, uplo Uplo, alpha float64, a *matrix.GslMatrix, b *matrix.GslMatrix, beta float64, c *matrix.GslMatrix) int32 {
	return int32(C.gsl_blas_dsymm(C.CBLAS_SIDE_t(side), C.CBLAS_UPLO_t(uplo), C.double(alpha), (*C.gsl_matrix)(unsafe.Pointer(a.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(b.Ptr())), C.double(beta), (*C.gsl_matrix)(unsafe.Pointer(c.Ptr()))))
}
예제 #7
0
파일: blas.go 프로젝트: postfix/gsl-1
func Dsyr2k(uplo Uplo, trans Transpose, alpha float64, a *matrix.GslMatrix, b *matrix.GslMatrix, beta float64, c *matrix.GslMatrix) int32 {
	return int32(C.gsl_blas_dsyr2k(C.CBLAS_UPLO_t(uplo), C.CBLAS_TRANSPOSE_t(trans), C.double(alpha), (*C.gsl_matrix)(unsafe.Pointer(a.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(b.Ptr())), C.double(beta), (*C.gsl_matrix)(unsafe.Pointer(c.Ptr()))))
}
예제 #8
0
파일: linalg.go 프로젝트: postfix/gsl-1
func LUDet(lU *matrix.GslMatrix, signum int32) float64 {
	return float64(C.gsl_linalg_LU_det((*C.gsl_matrix)(unsafe.Pointer(lU.Ptr())), C.int(signum)))
}
예제 #9
0
파일: linalg.go 프로젝트: postfix/gsl-1
func LULndet(lU *matrix.GslMatrix) float64 {
	return float64(C.gsl_linalg_LU_lndet((*C.gsl_matrix)(unsafe.Pointer(lU.Ptr()))))
}
예제 #10
0
파일: linalg.go 프로젝트: postfix/gsl-1
func LURefine(a *matrix.GslMatrix, lU *matrix.GslMatrix, p *permutation.GslPermutation, b *vector.GslVector, x *vector.GslVector, residual *vector.GslVector) int32 {
	return int32(C.gsl_linalg_LU_refine((*C.gsl_matrix)(unsafe.Pointer(a.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(lU.Ptr())), (*C.gsl_permutation)(unsafe.Pointer(p.Ptr())), (*C.gsl_vector)(unsafe.Pointer(b.Ptr())), (*C.gsl_vector)(unsafe.Pointer(x.Ptr())), (*C.gsl_vector)(unsafe.Pointer(residual.Ptr()))))
}
예제 #11
0
파일: linalg.go 프로젝트: postfix/gsl-1
func LUInvert(lU *matrix.GslMatrix, p *permutation.GslPermutation, inverse *matrix.GslMatrix) int32 {
	return int32(C.gsl_linalg_LU_invert((*C.gsl_matrix)(unsafe.Pointer(lU.Ptr())), (*C.gsl_permutation)(unsafe.Pointer(p.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(inverse.Ptr()))))
}
예제 #12
0
파일: linalg.go 프로젝트: postfix/gsl-1
func LUSvx(lU *matrix.GslMatrix, p *permutation.GslPermutation, x *vector.GslVector) int32 {
	return int32(C.gsl_linalg_LU_svx((*C.gsl_matrix)(unsafe.Pointer(lU.Ptr())), (*C.gsl_permutation)(unsafe.Pointer(p.Ptr())), (*C.gsl_vector)(unsafe.Pointer(x.Ptr()))))
}
예제 #13
0
파일: linalg.go 프로젝트: postfix/gsl-1
func BalanceMatrix(a *matrix.GslMatrix, d *vector.GslVector) int32 {
	return int32(C.gsl_linalg_balance_matrix((*C.gsl_matrix)(unsafe.Pointer(a.Ptr())), (*C.gsl_vector)(unsafe.Pointer(d.Ptr()))))
}
예제 #14
0
파일: linalg.go 프로젝트: postfix/gsl-1
func HHSvx(a *matrix.GslMatrix, x *vector.GslVector) int32 {
	return int32(C.gsl_linalg_HH_svx((*C.gsl_matrix)(unsafe.Pointer(a.Ptr())), (*C.gsl_vector)(unsafe.Pointer(x.Ptr()))))
}
예제 #15
0
파일: blas.go 프로젝트: postfix/gsl-1
func Dsyr2(uplo Uplo, alpha float64, x *vector.GslVector, y *vector.GslVector, a *matrix.GslMatrix) int32 {
	return int32(C.gsl_blas_dsyr2(C.CBLAS_UPLO_t(uplo), C.double(alpha), (*C.gsl_vector)(unsafe.Pointer(x.Ptr())), (*C.gsl_vector)(unsafe.Pointer(y.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(a.Ptr()))))
}
예제 #16
0
파일: linalg.go 프로젝트: postfix/gsl-1
func LUSgndet(lU *matrix.GslMatrix, signum int32) int32 {
	return int32(C.gsl_linalg_LU_sgndet((*C.gsl_matrix)(unsafe.Pointer(lU.Ptr())), C.int(signum)))
}
예제 #17
0
파일: blas.go 프로젝트: postfix/gsl-1
func Dgemm(transA Transpose, transB Transpose, alpha float64, a *matrix.GslMatrix, b *matrix.GslMatrix, beta float64, c *matrix.GslMatrix) int32 {
	return int32(C.gsl_blas_dgemm(C.CBLAS_TRANSPOSE_t(transA), C.CBLAS_TRANSPOSE_t(transB), C.double(alpha), (*C.gsl_matrix)(unsafe.Pointer(a.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(b.Ptr())), C.double(beta), (*C.gsl_matrix)(unsafe.Pointer(c.Ptr()))))
}
예제 #18
0
파일: linalg.go 프로젝트: postfix/gsl-1
func QRDecomp(a *matrix.GslMatrix, tau *vector.GslVector) int32 {
	return int32(C.gsl_linalg_QR_decomp((*C.gsl_matrix)(unsafe.Pointer(a.Ptr())), (*C.gsl_vector)(unsafe.Pointer(tau.Ptr()))))
}
예제 #19
0
파일: blas.go 프로젝트: postfix/gsl-1
func Dtrsm(side Side, uplo Uplo, transA Transpose, diag Diag, alpha float64, a *matrix.GslMatrix, b *matrix.GslMatrix) int32 {
	return int32(C.gsl_blas_dtrsm(C.CBLAS_SIDE_t(side), C.CBLAS_UPLO_t(uplo), C.CBLAS_TRANSPOSE_t(transA), C.CBLAS_DIAG_t(diag), C.double(alpha), (*C.gsl_matrix)(unsafe.Pointer(a.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(b.Ptr()))))
}
예제 #20
0
파일: linalg.go 프로젝트: postfix/gsl-1
func QRSvx(qR *matrix.GslMatrix, tau *vector.GslVector, x *vector.GslVector) int32 {
	return int32(C.gsl_linalg_QR_svx((*C.gsl_matrix)(unsafe.Pointer(qR.Ptr())), (*C.gsl_vector)(unsafe.Pointer(tau.Ptr())), (*C.gsl_vector)(unsafe.Pointer(x.Ptr()))))
}
예제 #21
0
func DoFit(t *multifit.GslMultifitRobustType, x *matrix.GslMatrix, y *vector.GslVector,
	c *vector.GslVector, cov *matrix.GslMatrix) {
	dim := x.Dim()
	work := multifit.RobustAlloc(t, dim[0], dim[1])
	multifit.Robust(x, y, c, cov, work)
}
예제 #22
0
파일: linalg.go 프로젝트: postfix/gsl-1
func QRLssolve(qR *matrix.GslMatrix, tau *vector.GslVector, b *vector.GslVector, x *vector.GslVector, residual *vector.GslVector) int32 {
	return int32(C.gsl_linalg_QR_lssolve((*C.gsl_matrix)(unsafe.Pointer(qR.Ptr())), (*C.gsl_vector)(unsafe.Pointer(tau.Ptr())), (*C.gsl_vector)(unsafe.Pointer(b.Ptr())), (*C.gsl_vector)(unsafe.Pointer(x.Ptr())), (*C.gsl_vector)(unsafe.Pointer(residual.Ptr()))))
}
예제 #23
0
파일: fit.go 프로젝트: postfix/gsl-1
func GslMultifitWlinearUsvd(x *matrix.GslMatrix, w *vector.GslVector, y *vector.GslVector, tol float64, c *vector.GslVector, cov *matrix.GslMatrix, work *GslMultifitLinearWorkspace) (int32, int, float64) {
	var _outptr_4 C.size_t
	var _outptr_7 C.double
	_result := int32(C.gsl_multifit_wlinear_usvd((*C.gsl_matrix)(unsafe.Pointer(x.Ptr())), (*C.gsl_vector)(unsafe.Pointer(w.Ptr())), (*C.gsl_vector)(unsafe.Pointer(y.Ptr())), C.double(tol), &_outptr_4, (*C.gsl_vector)(unsafe.Pointer(c.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(cov.Ptr())), &_outptr_7, (*C.gsl_multifit_linear_workspace)(unsafe.Pointer(work.Ptr()))))
	return _result, *(*int)(unsafe.Pointer(&_outptr_4)), *(*float64)(unsafe.Pointer(&_outptr_7))
}
예제 #24
0
파일: blas.go 프로젝트: postfix/gsl-1
func Dgemv(transA Transpose, alpha float64, a *matrix.GslMatrix, x *vector.GslVector, beta float64, y *vector.GslVector) int32 {
	return int32(C.gsl_blas_dgemv(C.CBLAS_TRANSPOSE_t(transA), C.double(alpha), (*C.gsl_matrix)(unsafe.Pointer(a.Ptr())), (*C.gsl_vector)(unsafe.Pointer(x.Ptr())), C.double(beta), (*C.gsl_vector)(unsafe.Pointer(y.Ptr()))))
}
예제 #25
0
파일: fit.go 프로젝트: postfix/gsl-1
func GslMultifitRobust(x *matrix.GslMatrix, y *vector.GslVector, c *vector.GslVector, cov *matrix.GslMatrix, w *GslMultifitRobustWorkspace) int32 {
	return int32(C.gsl_multifit_robust((*C.gsl_matrix)(unsafe.Pointer(x.Ptr())), (*C.gsl_vector)(unsafe.Pointer(y.Ptr())), (*C.gsl_vector)(unsafe.Pointer(c.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(cov.Ptr())), (*C.gsl_multifit_robust_workspace)(unsafe.Pointer(w.Ptr()))))
}
예제 #26
0
파일: blas.go 프로젝트: postfix/gsl-1
func Dtrsv(uplo Uplo, transA Transpose, diag Diag, a *matrix.GslMatrix, x *vector.GslVector) int32 {
	return int32(C.gsl_blas_dtrsv(C.CBLAS_UPLO_t(uplo), C.CBLAS_TRANSPOSE_t(transA), C.CBLAS_DIAG_t(diag), (*C.gsl_matrix)(unsafe.Pointer(a.Ptr())), (*C.gsl_vector)(unsafe.Pointer(x.Ptr()))))
}
예제 #27
0
파일: wavelet.go 프로젝트: dtromb/gogsl
func Wavelet2dNstransformMatrixForward(w *GslWavelet, m *matrix.GslMatrix, work *GslWaveletWorkspace) int32 {
	return int32(C.gsl_wavelet2d_nstransform_matrix_forward((*C.gsl_wavelet)(unsafe.Pointer(w.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(m.Ptr())), (*C.gsl_wavelet_workspace)(unsafe.Pointer(work.Ptr()))))
}
예제 #28
0
파일: blas.go 프로젝트: postfix/gsl-1
func Dger(alpha float64, x *vector.GslVector, y *vector.GslVector, a *matrix.GslMatrix) int32 {
	return int32(C.gsl_blas_dger(C.double(alpha), (*C.gsl_vector)(unsafe.Pointer(x.Ptr())), (*C.gsl_vector)(unsafe.Pointer(y.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(a.Ptr()))))
}
예제 #29
0
파일: wavelet.go 프로젝트: dtromb/gogsl
func Wavelet2dTransformMatrixInverse(w *GslWavelet, m *matrix.GslMatrix, work *GslWaveletWorkspace) int32 {
	return int32(C.gsl_wavelet2d_transform_matrix_inverse((*C.gsl_wavelet)(unsafe.Pointer(w.Ptr())), (*C.gsl_matrix)(unsafe.Pointer(m.Ptr())), (*C.gsl_wavelet_workspace)(unsafe.Pointer(work.Ptr()))))
}
예제 #30
0
파일: linalg.go 프로젝트: postfix/gsl-1
func BidiagUnpackB(a *matrix.GslMatrix, diag *vector.GslVector, superdiag *vector.GslVector) int32 {
	return int32(C.gsl_linalg_bidiag_unpack_B((*C.gsl_matrix)(unsafe.Pointer(a.Ptr())), (*C.gsl_vector)(unsafe.Pointer(diag.Ptr())), (*C.gsl_vector)(unsafe.Pointer(superdiag.Ptr()))))
}