1 | package com.hammurapi.extract; |
2 | |
3 | import java.util.concurrent.TimeUnit; |
4 | |
5 | |
6 | public class Divide<T, C> extends ArithmeticExtractor<T, Number, C> { |
7 | |
8 | public Divide(double initialCost, TimeUnit costUnit, Extractor<T, Number, C> leftExtractor, Extractor<T, Number, C> rightExtractor) { |
9 | super(initialCost, costUnit, leftExtractor, rightExtractor, true); |
10 | } |
11 | |
12 | @Override |
13 | protected Object doOp(int n1, int n2) { |
14 | return n1/n2; |
15 | } |
16 | |
17 | @Override |
18 | protected Object doOp(long n1, long n2) { |
19 | return n1/n2; |
20 | } |
21 | |
22 | @Override |
23 | protected Object doOp(float n1, float n2) { |
24 | return n1/n2; |
25 | } |
26 | |
27 | @Override |
28 | protected Object doOp(double n1, double n2) { |
29 | return n1/n2; |
30 | } |
31 | |
32 | @Override |
33 | protected Extractor<T, Number, C> newInstance(Extractor<T, Number, C> leftExtractor, Extractor<T, Number, C> rightExtractor) { |
34 | return new Divide<T,C>(initialCost, costUnit, leftExtractor, rightExtractor); |
35 | } |
36 | |
37 | } |