Skip to content

Commit 7466bfd

Browse files
committed
Updated Code Review comments
1 parent a689934 commit 7466bfd

File tree

14 files changed

+55
-65
lines changed

14 files changed

+55
-65
lines changed

CHANGELOG.md

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949

5050
#### [nidcpower] Unreleased
5151
- Added
52-
- (Common) Allow functions to have parameters that take in numpy.complex types.
5352
- Changed
5453
- Removed
5554

@@ -523,7 +522,6 @@
523522

524523
#### [nidigital] Unreleased
525524
- Added
526-
- (Common) Allow functions to have parameters that take in numpy.complex types.
527525
- Changed
528526
- Removed
529527

@@ -757,7 +755,6 @@
757755

758756
#### [nidmm] Unreleased
759757
- Added
760-
- (Common) Allow functions to have parameters that take in numpy.complex types.
761758
- Changed
762759
- Removed
763760

@@ -1073,7 +1070,6 @@
10731070

10741071
#### [nifgen] Unreleased
10751072
- Added
1076-
- (Common) Allow functions to have parameters that take in numpy.complex types.
10771073
- Changed
10781074
- Removed
10791075

@@ -1450,7 +1446,6 @@
14501446

14511447
#### [nimodinst] Unreleased
14521448
- Added
1453-
- (Common) Allow functions to have parameters that take in numpy.complex types.
14541449
- Changed
14551450
- Removed
14561451

@@ -1675,7 +1670,6 @@
16751670
- Enabled selected public APIs
16761671
- Basic example
16771672
- Documentation for APIs (not final)
1678-
- (Common) Allow functions to have parameters that take in numpy.complex types.
16791673
- Enabled write_arb_waveform functions along with examples.
16801674
- Changed
16811675
- Removed
@@ -1710,7 +1704,6 @@
17101704

17111705
#### [niscope] Unreleased
17121706
- Added
1713-
- (Common) Allow functions to have parameters that take in numpy.complex types.
17141707
- Changed
17151708
- Removed
17161709

@@ -2149,7 +2142,6 @@
21492142
- [0.1.0](#nise-010---2018-10-17)
21502143

21512144
- Added
2152-
- (Common) Allow functions to have parameters that take in numpy.complex types.
21532145
- Changed
21542146
- Removed
21552147

@@ -2305,7 +2297,6 @@
23052297
- [0.2.0](#niswitch-020---2017-09-20)
23062298

23072299
- Added
2308-
- (Common) Allow functions to have parameters that take in numpy.complex types.
23092300
- Changed
23102301
- Removed
23112302

@@ -2556,7 +2547,6 @@
25562547
- [0.1.0](#nitclk-010---2019-10-21)
25572548

25582549
- Added
2559-
- (Common) Allow functions to have parameters that take in numpy.complex types.
25602550
- Changed
25612551
- Removed
25622552

build/helper/codegen_helper.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ def _get_ctype_variable_definition_snippet_for_buffers(parameter, parameters, iv
438438
if parameter['complex_type'] == 'none':
439439
definition = '_get_ctypes_pointer_for_buffer(value={}) # case B510'.format(parameter['python_name'])
440440
else:
441-
definition = '_get_ctypes_pointer_for_buffer(value={}, library_type={}.{}, complex_type=\'{}\') # case B510'.format(parameter['python_name'], module_name, parameter['ctypes_type'], parameter['complex_type'])
441+
definition = '_get_ctypes_pointer_for_buffer(value={}, library_type={}.{}) # case B510'.format(parameter['python_name'], module_name, parameter['ctypes_type'])
442442
elif parameter['direction'] == 'in':
443443
if custom_type is not None:
444444
definition = '_get_ctypes_pointer_for_buffer([{0}.{1}(c) for c in {2}], library_type={0}.{1}) # case B540'.format(module_name, parameter['ctypes_type'], parameter['python_name'])

build/templates/_library_interpreter.py.mako

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,19 @@ _was_runtime_environment_set = None
4040

4141
% endif
4242
# Helper functions for creating ctypes needed for calling into the driver DLL
43-
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None, complex_type='none'):
43+
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None):
4444
if isinstance(value, array.array):
4545
assert library_type is not None, 'library_type is required for array.array'
4646
addr, _ = value.buffer_info()
4747
return ctypes.cast(addr, ctypes.POINTER(library_type))
4848
elif str(type(value)).find("'numpy.ndarray'") != -1:
4949
import numpy
50-
if complex_type == 'none':
51-
return numpy.ctypeslib.as_ctypes(value)
52-
else:
50+
if library_type in (_complextype.ComplexViInt16, _complextype.ComplexViReal32, _complextype.ComplexViReal64):
5351
complex_dtype = numpy.dtype(library_type)
5452
structured_array = value.view(complex_dtype)
5553
return structured_array.ctypes.data_as(ctypes.POINTER(library_type))
54+
else:
55+
return numpy.ctypeslib.as_ctypes(value)
5656
elif isinstance(value, bytes):
5757
return ctypes.cast(value, ctypes.POINTER(library_type))
5858
elif isinstance(value, list):

generated/nidcpower/nidcpower/_library_interpreter.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,19 @@
2121

2222

2323
# Helper functions for creating ctypes needed for calling into the driver DLL
24-
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None, complex_type='none'):
24+
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None):
2525
if isinstance(value, array.array):
2626
assert library_type is not None, 'library_type is required for array.array'
2727
addr, _ = value.buffer_info()
2828
return ctypes.cast(addr, ctypes.POINTER(library_type))
2929
elif str(type(value)).find("'numpy.ndarray'") != -1:
3030
import numpy
31-
if complex_type == 'none':
32-
return numpy.ctypeslib.as_ctypes(value)
33-
else:
31+
if library_type in (_complextype.ComplexViInt16, _complextype.ComplexViReal32, _complextype.ComplexViReal64):
3432
complex_dtype = numpy.dtype(library_type)
3533
structured_array = value.view(complex_dtype)
3634
return structured_array.ctypes.data_as(ctypes.POINTER(library_type))
35+
else:
36+
return numpy.ctypeslib.as_ctypes(value)
3737
elif isinstance(value, bytes):
3838
return ctypes.cast(value, ctypes.POINTER(library_type))
3939
elif isinstance(value, list):

generated/nidigital/nidigital/_library_interpreter.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,19 @@
1919

2020

2121
# Helper functions for creating ctypes needed for calling into the driver DLL
22-
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None, complex_type='none'):
22+
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None):
2323
if isinstance(value, array.array):
2424
assert library_type is not None, 'library_type is required for array.array'
2525
addr, _ = value.buffer_info()
2626
return ctypes.cast(addr, ctypes.POINTER(library_type))
2727
elif str(type(value)).find("'numpy.ndarray'") != -1:
2828
import numpy
29-
if complex_type == 'none':
30-
return numpy.ctypeslib.as_ctypes(value)
31-
else:
29+
if library_type in (_complextype.ComplexViInt16, _complextype.ComplexViReal32, _complextype.ComplexViReal64):
3230
complex_dtype = numpy.dtype(library_type)
3331
structured_array = value.view(complex_dtype)
3432
return structured_array.ctypes.data_as(ctypes.POINTER(library_type))
33+
else:
34+
return numpy.ctypeslib.as_ctypes(value)
3535
elif isinstance(value, bytes):
3636
return ctypes.cast(value, ctypes.POINTER(library_type))
3737
elif isinstance(value, list):

generated/nidmm/nidmm/_library_interpreter.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,19 @@
1717

1818

1919
# Helper functions for creating ctypes needed for calling into the driver DLL
20-
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None, complex_type='none'):
20+
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None):
2121
if isinstance(value, array.array):
2222
assert library_type is not None, 'library_type is required for array.array'
2323
addr, _ = value.buffer_info()
2424
return ctypes.cast(addr, ctypes.POINTER(library_type))
2525
elif str(type(value)).find("'numpy.ndarray'") != -1:
2626
import numpy
27-
if complex_type == 'none':
28-
return numpy.ctypeslib.as_ctypes(value)
29-
else:
27+
if library_type in (_complextype.ComplexViInt16, _complextype.ComplexViReal32, _complextype.ComplexViReal64):
3028
complex_dtype = numpy.dtype(library_type)
3129
structured_array = value.view(complex_dtype)
3230
return structured_array.ctypes.data_as(ctypes.POINTER(library_type))
31+
else:
32+
return numpy.ctypeslib.as_ctypes(value)
3333
elif isinstance(value, bytes):
3434
return ctypes.cast(value, ctypes.POINTER(library_type))
3535
elif isinstance(value, list):

generated/nifake/nifake/_library_interpreter.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,19 @@
2323

2424

2525
# Helper functions for creating ctypes needed for calling into the driver DLL
26-
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None, complex_type='none'):
26+
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None):
2727
if isinstance(value, array.array):
2828
assert library_type is not None, 'library_type is required for array.array'
2929
addr, _ = value.buffer_info()
3030
return ctypes.cast(addr, ctypes.POINTER(library_type))
3131
elif str(type(value)).find("'numpy.ndarray'") != -1:
3232
import numpy
33-
if complex_type == 'none':
34-
return numpy.ctypeslib.as_ctypes(value)
35-
else:
33+
if library_type in (_complextype.ComplexViInt16, _complextype.ComplexViReal32, _complextype.ComplexViReal64):
3634
complex_dtype = numpy.dtype(library_type)
3735
structured_array = value.view(complex_dtype)
3836
return structured_array.ctypes.data_as(ctypes.POINTER(library_type))
37+
else:
38+
return numpy.ctypeslib.as_ctypes(value)
3939
elif isinstance(value, bytes):
4040
return ctypes.cast(value, ctypes.POINTER(library_type))
4141
elif isinstance(value, list):
@@ -741,23 +741,23 @@ def write_waveform_numpy(self, waveform): # noqa: N802
741741
def write_waveform_complex_f32(self, waveform_data_array): # noqa: N802
742742
vi_ctype = _visatype.ViSession(self._vi) # case S110
743743
number_of_samples_ctype = _visatype.ViInt32(0 if waveform_data_array is None else len(waveform_data_array)) # case S160
744-
waveform_data_array_ctype = _get_ctypes_pointer_for_buffer(value=waveform_data_array, library_type=_complextype.ComplexViReal32, complex_type='numpy') # case B510
744+
waveform_data_array_ctype = _get_ctypes_pointer_for_buffer(value=waveform_data_array, library_type=_complextype.ComplexViReal32) # case B510
745745
error_code = self._library.niFake_WriteWaveformComplexF32(vi_ctype, number_of_samples_ctype, waveform_data_array_ctype)
746746
errors.handle_error(self, error_code, ignore_warnings=False, is_error_handling=False)
747747
return
748748

749749
def write_waveform_complex_f64(self, waveform_data_array): # noqa: N802
750750
vi_ctype = _visatype.ViSession(self._vi) # case S110
751751
number_of_samples_ctype = _visatype.ViInt32(0 if waveform_data_array is None else len(waveform_data_array)) # case S160
752-
waveform_data_array_ctype = _get_ctypes_pointer_for_buffer(value=waveform_data_array, library_type=_complextype.ComplexViReal64, complex_type='numpy') # case B510
752+
waveform_data_array_ctype = _get_ctypes_pointer_for_buffer(value=waveform_data_array, library_type=_complextype.ComplexViReal64) # case B510
753753
error_code = self._library.niFake_WriteWaveformComplexF64(vi_ctype, number_of_samples_ctype, waveform_data_array_ctype)
754754
errors.handle_error(self, error_code, ignore_warnings=False, is_error_handling=False)
755755
return
756756

757757
def write_waveform_complex_i16(self, waveform_data_array): # noqa: N802
758758
vi_ctype = _visatype.ViSession(self._vi) # case S110
759759
number_of_samples_ctype = _visatype.ViInt32(0 if waveform_data_array is None else len(waveform_data_array) // 2) # case S160
760-
waveform_data_array_ctype = _get_ctypes_pointer_for_buffer(value=waveform_data_array, library_type=_complextype.ComplexViInt16, complex_type='interleaved') # case B510
760+
waveform_data_array_ctype = _get_ctypes_pointer_for_buffer(value=waveform_data_array, library_type=_complextype.ComplexViInt16) # case B510
761761
error_code = self._library.niFake_WriteWaveformComplexI16(vi_ctype, number_of_samples_ctype, waveform_data_array_ctype)
762762
errors.handle_error(self, error_code, ignore_warnings=False, is_error_handling=False)
763763
return

generated/nifgen/nifgen/_library_interpreter.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,19 @@
1717

1818

1919
# Helper functions for creating ctypes needed for calling into the driver DLL
20-
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None, complex_type='none'):
20+
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None):
2121
if isinstance(value, array.array):
2222
assert library_type is not None, 'library_type is required for array.array'
2323
addr, _ = value.buffer_info()
2424
return ctypes.cast(addr, ctypes.POINTER(library_type))
2525
elif str(type(value)).find("'numpy.ndarray'") != -1:
2626
import numpy
27-
if complex_type == 'none':
28-
return numpy.ctypeslib.as_ctypes(value)
29-
else:
27+
if library_type in (_complextype.ComplexViInt16, _complextype.ComplexViReal32, _complextype.ComplexViReal64):
3028
complex_dtype = numpy.dtype(library_type)
3129
structured_array = value.view(complex_dtype)
3230
return structured_array.ctypes.data_as(ctypes.POINTER(library_type))
31+
else:
32+
return numpy.ctypeslib.as_ctypes(value)
3333
elif isinstance(value, bytes):
3434
return ctypes.cast(value, ctypes.POINTER(library_type))
3535
elif isinstance(value, list):

generated/nimodinst/nimodinst/_library_interpreter.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,19 @@
1111

1212

1313
# Helper functions for creating ctypes needed for calling into the driver DLL
14-
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None, complex_type='none'):
14+
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None):
1515
if isinstance(value, array.array):
1616
assert library_type is not None, 'library_type is required for array.array'
1717
addr, _ = value.buffer_info()
1818
return ctypes.cast(addr, ctypes.POINTER(library_type))
1919
elif str(type(value)).find("'numpy.ndarray'") != -1:
2020
import numpy
21-
if complex_type == 'none':
22-
return numpy.ctypeslib.as_ctypes(value)
23-
else:
21+
if library_type in (_complextype.ComplexViInt16, _complextype.ComplexViReal32, _complextype.ComplexViReal64):
2422
complex_dtype = numpy.dtype(library_type)
2523
structured_array = value.view(complex_dtype)
2624
return structured_array.ctypes.data_as(ctypes.POINTER(library_type))
25+
else:
26+
return numpy.ctypeslib.as_ctypes(value)
2727
elif isinstance(value, bytes):
2828
return ctypes.cast(value, ctypes.POINTER(library_type))
2929
elif isinstance(value, list):

generated/nirfsg/nirfsg/_library_interpreter.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@
1212

1313

1414
# Helper functions for creating ctypes needed for calling into the driver DLL
15-
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None, complex_type='none'):
15+
def _get_ctypes_pointer_for_buffer(value=None, library_type=None, size=None):
1616
if isinstance(value, array.array):
1717
assert library_type is not None, 'library_type is required for array.array'
1818
addr, _ = value.buffer_info()
1919
return ctypes.cast(addr, ctypes.POINTER(library_type))
2020
elif str(type(value)).find("'numpy.ndarray'") != -1:
2121
import numpy
22-
if complex_type == 'none':
23-
return numpy.ctypeslib.as_ctypes(value)
24-
else:
22+
if library_type in (_complextype.ComplexViInt16, _complextype.ComplexViReal32, _complextype.ComplexViReal64):
2523
complex_dtype = numpy.dtype(library_type)
2624
structured_array = value.view(complex_dtype)
2725
return structured_array.ctypes.data_as(ctypes.POINTER(library_type))
26+
else:
27+
return numpy.ctypeslib.as_ctypes(value)
2828
elif isinstance(value, bytes):
2929
return ctypes.cast(value, ctypes.POINTER(library_type))
3030
elif isinstance(value, list):
@@ -790,7 +790,7 @@ def write_arb_waveform_complex_f32(self, waveform_name, waveform_data_array, mor
790790
vi_ctype = _visatype.ViSession(self._vi) # case S110
791791
waveform_name_ctype = ctypes.create_string_buffer(waveform_name.encode(self._encoding)) # case C020
792792
number_of_samples_ctype = _visatype.ViInt32(0 if waveform_data_array is None else len(waveform_data_array)) # case S160
793-
waveform_data_array_ctype = _get_ctypes_pointer_for_buffer(value=waveform_data_array, library_type=_complextype.ComplexViReal32, complex_type='numpy') # case B510
793+
waveform_data_array_ctype = _get_ctypes_pointer_for_buffer(value=waveform_data_array, library_type=_complextype.ComplexViReal32) # case B510
794794
more_data_pending_ctype = _visatype.ViBoolean(more_data_pending) # case S150
795795
error_code = self._library.niRFSG_WriteArbWaveformComplexF32(vi_ctype, waveform_name_ctype, number_of_samples_ctype, waveform_data_array_ctype, more_data_pending_ctype)
796796
errors.handle_error(self, error_code, ignore_warnings=False, is_error_handling=False)
@@ -800,7 +800,7 @@ def write_arb_waveform_complex_f64(self, waveform_name, waveform_data_array, mor
800800
vi_ctype = _visatype.ViSession(self._vi) # case S110
801801
waveform_name_ctype = ctypes.create_string_buffer(waveform_name.encode(self._encoding)) # case C020
802802
number_of_samples_ctype = _visatype.ViInt32(0 if waveform_data_array is None else len(waveform_data_array)) # case S160
803-
waveform_data_array_ctype = _get_ctypes_pointer_for_buffer(value=waveform_data_array, library_type=_complextype.ComplexViReal64, complex_type='numpy') # case B510
803+
waveform_data_array_ctype = _get_ctypes_pointer_for_buffer(value=waveform_data_array, library_type=_complextype.ComplexViReal64) # case B510
804804
more_data_pending_ctype = _visatype.ViBoolean(more_data_pending) # case S150
805805
error_code = self._library.niRFSG_WriteArbWaveformComplexF64(vi_ctype, waveform_name_ctype, number_of_samples_ctype, waveform_data_array_ctype, more_data_pending_ctype)
806806
errors.handle_error(self, error_code, ignore_warnings=False, is_error_handling=False)
@@ -810,7 +810,7 @@ def write_arb_waveform_complex_i16(self, waveform_name, waveform_data_array): #
810810
vi_ctype = _visatype.ViSession(self._vi) # case S110
811811
waveform_name_ctype = ctypes.create_string_buffer(waveform_name.encode(self._encoding)) # case C020
812812
number_of_samples_ctype = _visatype.ViInt32(0 if waveform_data_array is None else len(waveform_data_array) // 2) # case S160
813-
waveform_data_array_ctype = _get_ctypes_pointer_for_buffer(value=waveform_data_array, library_type=_complextype.ComplexViInt16, complex_type='interleaved') # case B510
813+
waveform_data_array_ctype = _get_ctypes_pointer_for_buffer(value=waveform_data_array, library_type=_complextype.ComplexViInt16) # case B510
814814
error_code = self._library.niRFSG_WriteArbWaveformComplexI16(vi_ctype, waveform_name_ctype, number_of_samples_ctype, waveform_data_array_ctype)
815815
errors.handle_error(self, error_code, ignore_warnings=False, is_error_handling=False)
816816
return

0 commit comments

Comments
 (0)