#!/usr/bin/python
#
# File:  mitx/lib/loncapa/loncapa_check.py
#
# Python functions which duplicate the standard comparison functions available to LON-CAPA problems.
# Used in translating LON-CAPA problems to i4x problem specification language.

from __future__ import division
import random
import math

def lc_random(lower,upper,stepsize):
    '''
    like random.randrange but lower and upper can be non-integer
    '''
    nstep = int((upper-lower)/(1.0*stepsize))
    choices = [lower+x*stepsize for x in range(nstep)]
    return random.choice(choices)

def lc_choose(index,*args):
    '''
    return args[index]
    '''
    try:
        return args[int(index)-1]
    except Exception,err:
        pass
    if len(args):
        return args[0]
    raise Exception,"loncapa_check.lc_choose error, index=%s, args=%s" % (index,args)

deg2rad = math.pi/180.0
rad2deg = 180.0/math.pi



