src/test/java/org/apidesign/java4browser/StaticMethod.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Mon, 27 Aug 2012 14:27:06 +0200
changeset 5 d3193a7086e7
parent 4 f352a33fb71b
child 6 6e4682985907
permissions -rw-r--r--
Support for factorial computed with a for cycle
jaroslav@0
     1
/*
jaroslav@0
     2
Java 4 Browser Bytecode Translator
jaroslav@0
     3
Copyright (C) 2012-2012 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
jaroslav@0
     4
jaroslav@0
     5
This program is free software: you can redistribute it and/or modify
jaroslav@0
     6
it under the terms of the GNU General Public License as published by
jaroslav@0
     7
the Free Software Foundation, version 2 of the License.
jaroslav@0
     8
jaroslav@0
     9
This program is distributed in the hope that it will be useful,
jaroslav@0
    10
but WITHOUT ANY WARRANTY; without even the implied warranty of
jaroslav@0
    11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
jaroslav@0
    12
GNU General Public License for more details.
jaroslav@0
    13
jaroslav@0
    14
You should have received a copy of the GNU General Public License
jaroslav@0
    15
along with this program. Look for COPYING file in the top folder.
jaroslav@0
    16
If not, see http://opensource.org/licenses/GPL-2.0.
jaroslav@0
    17
*/
jaroslav@0
    18
package org.apidesign.java4browser;
jaroslav@0
    19
jaroslav@0
    20
/**
jaroslav@0
    21
 *
jaroslav@0
    22
 * @author Jaroslav Tulach <jtulach@netbeans.org>
jaroslav@0
    23
 */
jaroslav@0
    24
public class StaticMethod {
jaroslav@0
    25
    public static int sum(int x, int y) {
jaroslav@0
    26
        return x + y;
jaroslav@0
    27
    }
jaroslav@1
    28
    public static float power(float x) {
jaroslav@1
    29
        return x * x;
jaroslav@1
    30
    }
jaroslav@2
    31
    public static double minus(double x, long y) {
jaroslav@2
    32
        return x - y;
jaroslav@2
    33
    }
jaroslav@3
    34
    public static int div(byte c, double d) {
jaroslav@3
    35
        return (int)(d / c);
jaroslav@3
    36
    }
jaroslav@3
    37
    public static int mix(int a, long b, byte c, double d) {
jaroslav@3
    38
        return (int)((b / a + c) * d);
jaroslav@3
    39
    }
jaroslav@4
    40
    public static long factRec(int n) {
jaroslav@4
    41
        if (n <= 1) {
jaroslav@4
    42
            return 1;
jaroslav@4
    43
        } else {
jaroslav@4
    44
            return n * factRec(n - 1);
jaroslav@4
    45
        }
jaroslav@4
    46
    }
jaroslav@5
    47
    public static long factIter(int n) {
jaroslav@5
    48
        long res = 1;
jaroslav@5
    49
        for (int i = 2; i <= n; i++) {
jaroslav@5
    50
            res *= i;
jaroslav@5
    51
        }
jaroslav@5
    52
        return res;
jaroslav@5
    53
    }
jaroslav@0
    54
}