OpenCores
URL https://opencores.org/ocsvn/tcp_socket/tcp_socket/trunk

Subversion Repositories tcp_socket

[/] [tcp_socket/] [trunk/] [chips2/] [examples/] [sqrt.c] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 jondawson
/* sqrt.c */
2
/* Jonathan P Dawson */
3
/* 2013-12-23 */
4
 
5
/* find absolute value of a floating point number*/
6
 
7
float fabs(float n){
8
    if (n < 0.0) {
9
        return - n;
10
    } else {
11
        return n;
12
    }
13
}
14
 
15
/* approximate sqrt using newton's method*/
16
 
17
float sqrt(float n){
18
    float square, x, old;
19
    x = 10.0;
20
    old = 0.0;
21
    while(fabs(old - x) > 0.000001){
22
        old = x;
23
        x -= (x*x-n)/(2*x);
24
    }
25
    return x;
26
}
27
 
28
/* test sqrt function*/
29
 
30
void main(){
31
    float x;
32
    for(x=0.0; x <= 10.0; x+= 0.1){
33
        file_write(x, "x");
34
        file_write(sqrt(x), "sqrt_x");
35
    }
36
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.