class FFT_COMPLEX_64_I
Common interface to local proxy interface and remote server class for calculating fourier transformations
FFT_COMPLEX_64_I* FFT_COMPLEX_64_PROXY FFT_COMPLEX_64
note
description: "[
Common interface to local proxy interface and remote server class for calculating fourier transformations
]"
descendants: "[
FFT_COMPLEX_64_I*
${FFT_COMPLEX_64_PROXY}
${FFT_COMPLEX_64}
]"
author: "Finnian Reilly"
copyright: "Copyright (c) 2001-2022 Finnian Reilly"
contact: "finnian at eiffel hyphen loop dot com"
license: "MIT license (See: en.wikipedia.org/wiki/MIT_License)"
date: "2008-04-21 19:24:48 GMT (Monday 21st April 2008)"
revision: "13"
deferred class
FFT_COMPLEX_64_I
inherit
FFT_ONCE_ROUTINE_NAMES
feature -- Initialization
fft_make (n: INTEGER)
--
deferred
end
feature -- Access
input: COLUMN_VECTOR_COMPLEX_64
--
deferred
end
output: COLUMN_VECTOR_COMPLEX_64
--
deferred
end
length: INTEGER
--
deferred
end
windower_rectangular: RECTANGULAR_WINDOWER_DOUBLE
--
deferred
end
windower_default: DEFAULT_WINDOWER_DOUBLE
--
deferred
end
feature -- Basic operations
do_transform
--
deferred
end
do_inverse_transform
--
deferred
end
feature -- Element change
set_input (a_input: VECTOR_COMPLEX_64)
--
deferred
end
set_windower (a_windower: WINDOWER_DOUBLE)
--
deferred
end
feature -- Contract support
is_output_length_valid: BOOLEAN
--
deferred
end
is_valid_input_length (a_length: INTEGER): BOOLEAN
--
deferred
end
is_power_of_two (n: INTEGER): BOOLEAN
--
deferred
end
feature {NONE} -- EROS implementation
routines: ARRAY [TUPLE [STRING, ROUTINE]]
--
do
Result := <<
-- Procedures
[R_do_transform, agent do_transform],
[R_do_inverse_transform, agent do_inverse_transform],
[R_fft_make, agent fft_make],
[R_set_input, agent set_input],
[R_set_windower, agent set_windower],
-- Functions
[R_output, agent: COLUMN_VECTOR_COMPLEX_64 do Result := output end],
[R_input, agent: COLUMN_VECTOR_COMPLEX_64 do Result := input end],
[R_length, agent: INTEGER do Result := length end],
[R_is_output_length_valid, agent is_output_length_valid],
[R_is_valid_input_length, agent is_valid_input_length],
[R_is_power_of_two, agent is_power_of_two],
[R_windower_rectangular, agent Windower_rectangular],
[R_windower_default, agent Windower_default]
>>
end
feature {NONE} -- Routine names
R_fft_make: STRING = "fft_make"
R_do_transform: STRING = "do_transform"
R_do_inverse_transform: STRING = "do_inverse_transform"
R_input: STRING = "input"
R_output: STRING = "output"
R_length: STRING = "length"
R_set_input: STRING = "set_input"
R_set_windower: STRING = "set_windower"
R_is_output_length_valid: STRING = "is_output_length_valid"
R_is_valid_input_length: STRING = "is_valid_input_length"
R_is_power_of_two: STRING = "is_power_of_two"
end