#include "means.h"
#include <vector>
#include <iostream>
using namespace std;

int main(int argc, char **argv)
{
    double arithmetic_mean, geometric_mean, harmonic_mean;

    // Fixed version
    calculate_means(1, 4, 16, arithmetic_mean, geometric_mean, harmonic_mean);
    cout << arithmetic_mean << ", " << geometric_mean << ", " << harmonic_mean << endl;

    calculate_means(2, 3, 5, arithmetic_mean, geometric_mean, harmonic_mean);
    cout << arithmetic_mean << ", " << geometric_mean << ", " << harmonic_mean << endl;

    calculate_means(1000, 4000, 16000, arithmetic_mean, geometric_mean, harmonic_mean);
    cout << arithmetic_mean << ", " << geometric_mean << ", " << harmonic_mean << endl;
    cout << "--------------------------------" << endl;


    
    // Scalable version
    calculate_means(vector<int> {1, 4, 16}, arithmetic_mean, geometric_mean, harmonic_mean);
    cout << arithmetic_mean << ", " << geometric_mean << ", " << harmonic_mean << endl;
    
    calculate_means(vector<int> {2, 3, 5}, arithmetic_mean, geometric_mean, harmonic_mean);
    cout << arithmetic_mean << ", " << geometric_mean << ", " << harmonic_mean << endl;

    calculate_means(vector<int> {1000, 4000, 16000}, arithmetic_mean, geometric_mean, harmonic_mean);
    cout << arithmetic_mean << ", " << geometric_mean << ", " << harmonic_mean << endl;
    
    
    return 0;
}
