1 /* Siconos is a program dedicated to modeling, simulation and control
2  * of non smooth dynamical systems.
3  *
4  * Copyright 2021 INRIA.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17 */
18 #include <math.h>
19 #include "projectionOnDisk.h"
20 
projectionOnDisk(double * r,double R)21 void projectionOnDisk(double* r, double  R)
22 {
23 
24   double normTsquare = r[0] * r[0] + r[1] * r[1];
25   if(normTsquare <= R * R)
26   {
27     return ;
28   }
29   else
30   {
31     normTsquare = sqrt(normTsquare);
32     r[0] = R * r[0] / normTsquare;
33     r[1] = R * r[1] / normTsquare;
34     return;
35   }
36 }
37 
projectionOnGeneralDisk(double * r,double R,int dim)38 void projectionOnGeneralDisk(double* r, double  R, int dim)
39 {
40 
41 }
42