1 


/* 
2 


* This file is part of FFmpeg. 
3 


* 
4 


* FFmpeg is free software; you can redistribute it and/or 
5 


* modify it under the terms of the GNU Lesser General Public 
6 


* License as published by the Free Software Foundation; either 
7 


* version 2.1 of the License, or (at your option) any later version. 
8 


* 
9 


* FFmpeg is distributed in the hope that it will be useful, 
10 


* but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 


* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 
12 


* Lesser General Public License for more details. 
13 


* 
14 


* You should have received a copy of the GNU Lesser General Public 
15 


* License along with FFmpeg; if not, write to the Free Software 
16 


* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 021101301 USA 
17 


*/ 
18 



19 


#include "libavcodec/mathops.h" 
20 



21 


#include <stdlib.h> 
22 



23 

1 
int main(void) 
24 


{ 
25 


unsigned u; 
26 



27 
✓✓ 
65537 
for(u=0; u<65536; u++) { 
28 

65536 
unsigned s = u*u; 
29 

65536 
unsigned root = ff_sqrt(s); 
30 

65536 
unsigned root_m1 = ff_sqrt(s1); 
31 
✓✓✗✓

65536 
if (s && root != u) { 
32 


fprintf(stderr, "ff_sqrt failed at %u with %u\n", s, root); 
33 


return 1; 
34 


} 
35 
✓✓✗✓

65536 
if (u && root_m1 != u  1) { 
36 


fprintf(stderr, "ff_sqrt failed at %u with %u\n", s, root); 
37 


return 1; 
38 


} 
39 


} 
40 

1 
return 0; 
41 


} 