func (p *GslPermutation) Slice_() interface{} { baseType := gogsl.GOGSL_SIZE_T_TYPE sliceType := reflect.SliceOf(baseType) size := p.Len() hdr := &reflect.SliceHeader{Len: size, Cap: size, Data: uintptr(C.get_permutation_data((*C.gsl_permutation)(unsafe.Pointer(p.Ptr()))))} return reflect.NewAt(sliceType, unsafe.Pointer(hdr)).Elem().Interface() }
//int gsl_permute_inverse (const size_t * p, double * data, size_t stride, size_t n) func PermuteInverse(p *GslPermutation, data []float64, stride int, n int) { C.gsl_permute_inverse((*C.size_t)(C.get_permutation_data((*C.gsl_permutation)(unsafe.Pointer(p.Ptr())))), (*C.double)(unsafe.Pointer((*reflect.SliceHeader)(unsafe.Pointer(&data)).Data)), C.size_t(stride), C.size_t(n)) }