On 8/31/17, 20/20 Lab <l...@2020fresno.com> wrote: > > > On 08/31/2017 01:53 AM, Pavol Lisy wrote: [...] > Valid point, fired up a windows 10 machine and worked as well. > > Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:14:34) [MSC v.1900 32 bit > (Intel)] on win32 > Type "copyright", "credits" or "license()" for more information. > >>> import math > >>> math.sqrt(1.3) > 1.140175425099138 > >>> > > This machine does not have the creators update yet. So there's that. > -- > https://mail.python.org/mailman/listinfo/python-list
Thx! :) Could somebody help me? I was trying to call sqrt using ctypes from msvcrt but I am not succesful: import ctypes msc = ctypes.windll.msvcrt def msqrt(arg): s = ctypes.create_string_buffer(100) d = ctypes.c_longdouble(arg) msc.sprintf(s, b'arg = %g', d) print(s.value.decode()) r = msc.sqrt(d) msc.sprintf(s, b'sqrt = %g', r) # r is int so this format is wrong I just like to show my intention print(s.value.decode()) print("r = ", r, r.__class__) >>> msqrt(1.3) arg = 1.3 sqrt = 0 r = 0 <class 'int'> >>> msqrt(-1) arg = -1 sqrt = 4.00144e-320 # because wrong format in sprintf r = 8099 <class 'int'> And -> >>> msc.sqrt.restype ctypes.c_long >>> msc.sqrt.argtypes is None True How to do it properly? Isn't ctypes broken? -- https://mail.python.org/mailman/listinfo/python-list