Beispiel #1
0
def output(partIdx):
  """Uses the student code to compute the output for test cases."""
  outputString = ''

  dictInp = pickle.load(open("testInputA3.pkl"))  ## load the dict
  testCases = dictInp['testCases']
  outputType = dictInp['outputType']

  if partIdx == 0: # This is A3-part-1: minimizeEnergySpreadDFT
    for line in testCases['A3-part-1']:
      answer = minimizeEnergySpreadDFT(**line)
      if outputType['A3-part-1'][0] == type(answer):
        outputString += convertNpObjToStr(answer) + '\n'
      else:
        wrongOutputTypeError(outputType['A3-part-1'][0])
        sys.exit(1)
      
  elif partIdx == 1: # This is A3-part-2: optimalZeropad
    for line in testCases['A3-part-2']:
      answer = optimalZeropad(**line)
      if outputType['A3-part-2'][0] == type(answer):
        outputString += convertNpObjToStr(answer) + '\n' #str(answer).strip('()') + '\n'
      else:
        wrongOutputTypeError(outputType['A3-part-2'][0])
        sys.exit(1)
      
  elif partIdx == 2: # This is A3-part-3: testRealEven
    for line in testCases['A3-part-3']:
      answer = testRealEven(**line) 
      if (outputType['A3-part-3'][0] == type(answer)) and (len(answer) == 3):
        #answer = answer.copy()  # Important, else does not allocate continuous memory locations
        for ans in answer:
            outputString += convertNpObjToStr(ans) + '\n'
        outputString += '\n'
      else:
        wrongOutputTypeError(outputType['A3-part-3'][0])
        sys.exit(1)        
        
  elif partIdx == 3: # This is A3-part-4: suppressFreqDFTmodel
    for line in testCases['A3-part-4']:
      answer = suppressFreqDFTmodel(**line) 
      if (outputType['A3-part-4'][0] == type(answer)) and (len(answer) == 2):
        #answer = answer.copy()  # Important, else does not allocate continuous memory locations
        for ans in answer:
            outputString += convertNpObjToStr(ans) + '\n'
        outputString += '\n'
      else:
        wrongOutputTypeError(outputType['A3-part-4'][0])
        sys.exit(1)
        
  elif partIdx == 4: # This is A3-part-5: zpFFTsizeExpt
    for line in testCases['A3-part-5']:
      answer = zpFFTsizeExpt(**line) 
      if (outputType['A3-part-5'][0] == type(answer)) and (len(answer) == 3):
        #answer = answer.copy()  # Important, else does not allocate continuous memory locations
        for ans in answer:
            outputString += convertNpObjToStr(ans) + '\n'
        outputString += '\n'
      else:
        wrongOutputTypeError(outputType['A3-part-5'][0])
        sys.exit(1) 

  return outputString.strip()
def output(partIdx):
  """Uses the student code to compute the output for test cases."""
  outputString = ''

  dictInp = pickle.load(open("testInputA3.pkl"))  ## load the dict
  testCases = dictInp['testCases']
  outputType = dictInp['outputType']

  if partIdx == 0: # This is A3-part-1: minimizeEnergySpreadDFT
    for line in testCases['A3-part-1']:
      answer = minimizeEnergySpreadDFT(**line)
      if outputType['A3-part-1'][0] == type(answer):
        outputString += convertNpObjToStr(answer) + '\n'
      else:
        wrongOutputTypeError(outputType['A3-part-1'][0])
        sys.exit(1)
      
  elif partIdx == 1: # This is A3-part-2: optimalZeropad
    for line in testCases['A3-part-2']:
      answer = optimalZeropad(**line)
      if outputType['A3-part-2'][0] == type(answer):
        outputString += convertNpObjToStr(answer) + '\n' #str(answer).strip('()') + '\n'
      else:
        wrongOutputTypeError(outputType['A3-part-2'][0])
        sys.exit(1)
      
  elif partIdx == 2: # This is A3-part-3: testRealEven
    for line in testCases['A3-part-3']:
      answer = testRealEven(**line) 
      if (outputType['A3-part-3'][0] == type(answer)) and (len(answer) == 3):
        #answer = answer.copy()  # Important, else does not allocate continuous memory locations
        for ans in answer:
            outputString += convertNpObjToStr(ans) + '\n'
        outputString += '\n'
      else:
        wrongOutputTypeError(outputType['A3-part-3'][0])
        sys.exit(1)        
        
  elif partIdx == 3: # This is A3-part-4: suppressFreqDFTmodel
    for line in testCases['A3-part-4']:
      answer = suppressFreqDFTmodel(**line) 
      if (outputType['A3-part-4'][0] == type(answer)) and (len(answer) == 2):
        #answer = answer.copy()  # Important, else does not allocate continuous memory locations
        for ans in answer:
            outputString += convertNpObjToStr(ans) + '\n'
        outputString += '\n'
      else:
        wrongOutputTypeError(outputType['A3-part-4'][0])
        sys.exit(1)
        
  elif partIdx == 4: # This is A3-part-5: zpFFTsizeExpt
    for line in testCases['A3-part-5']:
      answer = zpFFTsizeExpt(**line) 
      if (outputType['A3-part-5'][0] == type(answer)) and (len(answer) == 3):
        #answer = answer.copy()  # Important, else does not allocate continuous memory locations
        for ans in answer:
            outputString += convertNpObjToStr(ans) + '\n'
        outputString += '\n'
      else:
        wrongOutputTypeError(outputType['A3-part-5'][0])
        sys.exit(1) 

  return outputString.strip()
Beispiel #3
0
    def test_minimizeEnergySpreadDFT2(self):
        testData = load(1, 2)
        mX = minimizeEnergySpreadDFT(testData['input']['x'], testData['input']['fs'], testData['input']['f1'], testData['input']['f2'])

        self.assertTrue(np.allclose(testData['output'], mX))