В моем приложении необходимо предварительно скомпоновать и сохранять значения тригонометрической функции для некоторых определенных параметров угла, диапазон варьируется от -90 до 180 градусов. Я могу создать массивы (по одному для каждого синуса, cos и т. Д.), Который сохранит значение для угла -90 на 0-м индексе, а при извлечении я могу вычесть 90 из индекса.Отрицательные индексы F # в массиве
но есть ли другой способ в F # указать диапазон индекса, если мы хотим использовать [-90 .. 180] , чтобы у меня была более значимая реализация.
Рассматривая альтернативное решение, использование словаря будет таким же быстрым, как использование простых 2D-массивов.
Вы проблема заключается в определении диапазона от -90 до 180 или извлечения по ключевому слову, как 'let value = precomputed. [- 90]' –
yes Я хочу извлечь предварительно вычислимые значения для заданного угла. let value = precomputed. [- 90] – anushri
Обычно [индексированные свойства] (https://msdn.microsoft.com/en-us/library/dd233202.aspx) (включая «Элемент») можно использовать для создания пользовательских индексаторов , Но я не уверен в их накладных расходах, если программа * это * сильно ограничена производительностью. Вы уверены, что стандартные тригонометрические функции являются узким местом производительности? Является ли скорость действительно проблемой здесь? Вы работаете на аппаратном обеспечении, где эти функции работают медленно? – Vandroiy