arm_svm_linear_init_f32.c
1 /* ---------------------------------------------------------------------- 2 * Project: CMSIS DSP Library 3 * Title: arm_svm_linear_init_f32.c 4 * Description: SVM Linear 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 * @defgroup groupSVM SVM Functions 35 * 36 */ 37 38 /** 39 @ingroup groupSVM 40 */ 41 42 /** 43 @defgroup linearsvm Linear SVM 44 45 Linear SVM classifier 46 */ 47 48 /** 49 * @addtogroup linearsvm 50 * @{ 51 */ 52 53 54 /** 55 * @brief SVM linear instance init function 56 * 57 * Classes are integer used as output of the function (instead of having -1,1 58 * as class values). 59 * 60 * @param[in] S Parameters for the SVM function 61 * @param[in] nbOfSupportVectors Number of support vectors 62 * @param[in] vectorDimension Dimension of vector space 63 * @param[in] intercept Intercept 64 * @param[in] dualCoefficients Array of dual coefficients 65 * @param[in] supportVectors Array of support vectors 66 * @param[in] classes Array of 2 classes ID 67 * @return none. 68 * 69 */ 70 71 72 void arm_svm_linear_init_f32(arm_svm_linear_instance_f32 *S, 73 uint32_t nbOfSupportVectors, 74 uint32_t vectorDimension, 75 float32_t intercept, 76 const float32_t *dualCoefficients, 77 const float32_t *supportVectors, 78 const int32_t *classes) 79 { 80 S->nbOfSupportVectors = nbOfSupportVectors; 81 S->vectorDimension = vectorDimension; 82 S->intercept = intercept; 83 S->dualCoefficients = dualCoefficients; 84 S->supportVectors = supportVectors; 85 S->classes = classes; 86 } 87 88 89 90 /** 91 * @} end of linearsvm group 92 */