awips2/edexOsgi/com.raytheon.uf.common.derivparam.python/utility/common_static/base/derivedParameters/functions/Multiply.py
Everett Kladstrup a3f44810f9 Issue Post "derived parameter move" changes
* move derived parameter definitions to base localization level
* remove java 7 exception constructor from inventory plugin
* move python function adapter to derivparam.python plugin


Former-commit-id: e222fc706e [formerly 0e88702cea] [formerly 16b4c9253e] [formerly e222fc706e [formerly 0e88702cea] [formerly 16b4c9253e] [formerly 41b154802c [formerly 16b4c9253e [formerly c54110914a3a64a2ea7c22093327c9e0d84689b2]]]]
Former-commit-id: 41b154802c
Former-commit-id: 4c979bd398 [formerly 2ace82f815] [formerly bbcf6ba629d8e4a1649178671bcae72d11e64f57 [formerly f6bf1f43bd]]
Former-commit-id: 10f940c3c864c69ac5c7993834bc5f3162aceaca [formerly a89211f60a]
Former-commit-id: abf4bd55a1
2014-04-09 11:20:14 -05:00

39 lines
No EOL
1.2 KiB
Python

##
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
##
from numpy import multiply
import Vector
def execute(*args):
""" Perform multiplication of any number of scalars or of a vector and a scalar.
"""
if type(args[0]) == tuple:
return vectorMultiply(args)
else:
return scalarMultiply(args)
def scalarMultiply(args):
return reduce(multiply, args)
def vectorMultiply(args):
return Vector.componentsTo(scalarMultiply((args[0][0], args[1])), scalarMultiply((args[0][1], args[1])))