arm_svm_rbf_init_f32.c
1 /* ---------------------------------------------------------------------- 2 * Project: CMSIS DSP Library 3 * Title: arm_svm_rbf_init_f32.c 4 * Description: SVM Radial Basis Function Instance Initialization 5 * 6 * $Date: 23 April 2021 7 * $Revision: V1.9.0 8 * 9 * Target Processor: Cortex-M and Cortex-A cores 10 * -------------------------------------------------------------------- */ 11 /* 12 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. 13 * 14 * SPDX-License-Identifier: Apache-2.0 15 * 16 * Licensed under the Apache License, Version 2.0 (the License); you may 17 * not use this file except in compliance with the License. 18 * You may obtain a copy of the License at 19 * 20 * www.apache.org/licenses/LICENSE-2.0 21 * 22 * Unless required by applicable law or agreed to in writing, software 23 * distributed under the License is distributed on an AS IS BASIS, WITHOUT 24 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 25 * See the License for the specific language governing permissions and 26 * limitations under the License. 27 */ 28 29 #include "dsp/svm_functions.h" 30 #include <limits.h> 31 #include <math.h> 32 33 /** 34 @ingroup groupSVM 35 */ 36 37 /** 38 @defgroup rbfsvm RBF SVM 39 40 RBF SVM classifier 41 */ 42 43 44 /** 45 * @addtogroup rbfsvm 46 * @{ 47 */ 48 49 50 /** 51 * @brief SVM radial basis function instance init function 52 * 53 * Classes are integer used as output of the function (instead of having -1,1 54 * as class values). 55 * 56 * @param[in] S points to an instance of the polynomial SVM structure. 57 * @param[in] nbOfSupportVectors Number of support vectors 58 * @param[in] vectorDimension Dimension of vector space 59 * @param[in] intercept Intercept 60 * @param[in] dualCoefficients Array of dual coefficients 61 * @param[in] supportVectors Array of support vectors 62 * @param[in] classes Array of 2 classes ID 63 * @param[in] gamma gamma (scikit-learn terminology) 64 * @return none. 65 * 66 */ 67 68 void arm_svm_rbf_init_f32(arm_svm_rbf_instance_f32 *S, 69 uint32_t nbOfSupportVectors, 70 uint32_t vectorDimension, 71 float32_t intercept, 72 const float32_t *dualCoefficients, 73 const float32_t *supportVectors, 74 const int32_t *classes, 75 float32_t gamma 76 ) 77 { 78 S->nbOfSupportVectors = nbOfSupportVectors; 79 S->vectorDimension = vectorDimension; 80 S->intercept = intercept; 81 S->dualCoefficients = dualCoefficients; 82 S->supportVectors = supportVectors; 83 S->classes = classes; 84 S->gamma = gamma; 85 } 86 87 88 89 /** 90 * @} end of rbfsvm group 91 */