1 /*
2     Copyright (C) 2018 Daniel Schultz
3 
4     This file is part of FLINT.
5 
6     FLINT is free software: you can redistribute it and/or modify it under
7     the terms of the GNU Lesser General Public License (LGPL) as published
8     by the Free Software Foundation; either version 2.1 of the License, or
9     (at your option) any later version.  See <http://www.gnu.org/licenses/>.
10 */
11 
12 #include "fmpz_vec.h"
13 
14 /* vec1 = pointwise max of vec1 and vec2 */
_fmpz_vec_min_inplace(fmpz * vec1,const fmpz * vec2,slong len)15 void _fmpz_vec_min_inplace(fmpz * vec1, const fmpz * vec2, slong len)
16 {
17     slong i;
18     for (i = WORD(0); i < len; i++)
19     {
20         if (fmpz_cmp(vec1 + i, vec2 + i) > 0)
21             fmpz_set(vec1 + i, vec2 + i);
22     }
23 }
24 
25 /* vec1 = pointwise max of vec2 and vec3 */
_fmpz_vec_min(fmpz * vec1,const fmpz * vec2,const fmpz * vec3,slong len)26 void _fmpz_vec_min(fmpz * vec1, const fmpz * vec2, const fmpz * vec3, slong len)
27 {
28     slong i;
29     for (i = WORD(0); i < len; i++)
30     {
31         int cmp = fmpz_cmp(vec2 + i, vec3 + i);
32         fmpz_set(vec1 + i, (cmp < 0 ? vec2 : vec3) + i);
33     }
34 }
35