# HG changeset patch # User Jeff Hammel # Date 1425260842 28800 # Node ID 8448c62a49174827095e1f48366ff1aad38ad416 # Parent fa23c078b928d332a74f5745a9c464410184875f almost to output; frange done diff -r fa23c078b928 -r 8448c62a4917 numerics/generate.py --- a/numerics/generate.py Sun Mar 01 17:01:38 2015 -0800 +++ b/numerics/generate.py Sun Mar 01 17:47:22 2015 -0800 @@ -7,6 +7,8 @@ rather than rolling our own. Bootstrapping... """ +__all__ = ['frange'] + def frange(xmin, xmax, n): """ float range @@ -16,4 +18,5 @@ n -- number of slices (one less than number of points) """ dx = (xmax - xmin)/float(n) - raise NotImplementedError('TODO') # -> record TODO items + retval = [xmin+dx*i for i in range(0,n)] + retval.append(xmax) diff -r fa23c078b928 -r 8448c62a4917 numerics/histogram.py --- a/numerics/histogram.py Sun Mar 01 17:01:38 2015 -0800 +++ b/numerics/histogram.py Sun Mar 01 17:47:22 2015 -0800 @@ -24,6 +24,7 @@ import sys import time from .data import transpose +from .generate import frange from .read import CSVParser from collections import OrderedDict @@ -119,8 +120,17 @@ # We'll use a guess of 2 items per bin, on average options.nbins = len(columns[0]) / 2 + # make some bins + bins = frange(options.min, options.max, options.nbins) + # make some histograms + histograms = [] + for column in columns: + histogram = Histogram(bins) + histogram.add(*column) + # output delimeters + data = histograms[0].keys() if __name__ == '__main__': main() diff -r fa23c078b928 -r 8448c62a4917 tests/test_generate.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test_generate.py Sun Mar 01 17:47:22 2015 -0800 @@ -0,0 +1,29 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +unit tests for generate +""" + +import os +import sys +import tempfile +import unittest + +# globals +here = os.path.dirname(os.path.abspath(__file__)) + +class generateUnitTest(unittest.TestCase): + + def test_generate(self): + tf = tempfile.mktemp() + try: + # pass + pass + finally: + if os.path.exists(tf): + os.remove(tf) + +if __name__ == '__main__': + unittest.main() +