[SciPy-Dev] Ticket #995, All scipy.constants.constants functions "choke" on non-array sequence input

Vincent Davis vincent at vincentdavis.net
Thu Jun 17 16:10:53 EDT 2010


On Thu, Jun 17, 2010 at 1:58 PM, Skipper Seabold <jsseabold at gmail.com> wrote:
> On Thu, Jun 17, 2010 at 3:52 PM, Vincent Davis <vincent at vincentdavis.net> wrote:
>>
>>
>> Sent from my iPhone
>>
>> On Jun 17, 2010, at 1:24 PM, Skipper Seabold <jsseabold at gmail.com>
>> wrote:
>>
>>> On Thu, Jun 17, 2010 at 3:23 PM, Vincent Davis <vincent at vincentdavis.net
>>> > wrote:
>>>> On Thu, Jun 17, 2010 at 1:18 PM, Vincent Davis <vincent at vincentdavis.net
>>>> > wrote:
>>>>> The problem is that for example C2F is
>>>>>
>>>>> def C2F(C):
>>>>>     return 1.8 * C + 32
>>>>> So array_like (list, tuple...) does not work.
>>>>>
>>>>> What is the preferred solution?
>>>>>
>>>>> 1, Change the docs to say "scalar or array" and return a warning
>>>>> if C
>>>>> is not a scalar or array
>>>>> 2, Ad the ability to handle all array_like.
>>>>>
>>>> def C2F(C):
>>>>     return np.add(np.multilpy(1.8, C), 32)
>>>>
>>>> I think that accepts array-like and scaler and returns the same
>>>
>>> Or just C = np.asarray(C)
>>>
>>> This is quite often what is done.
>> But if I start with a list I expect a list back.
>>
>
> I don't know of any functions that preserve list inputs.
>
> In [3]: np.multiply([1,2,3,4,5],[2,3,4,5,6])
> Out[3]: array([ 2,  6, 12, 20, 30])

Your right, it preserves a scaler but not a list.
Ok then would you prefer it accepts array_likem or scaler and returns
a array or scaler?

Vincent
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-dev
>



More information about the SciPy-Dev mailing list