1# Licensed to the Apache Software Foundation (ASF) under one 2# or more contributor license agreements. See the NOTICE file 3# distributed with this work for additional information 4# regarding copyright ownership. The ASF licenses this file 5# to you under the Apache License, Version 2.0 (the 6# "License"); you may not use this file except in compliance 7# with the License. You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, 12# software distributed under the License is distributed on an 13# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14# KIND, either express or implied. See the License for the 15# specific language governing permissions and limitations 16# under the License. 17 18config ZSL 19 bool "Zephyr scientific library support" 20 default n 21 help 22 This option enables the zephyr scientific library. 23 24if ZSL 25 26config ZSL_SINGLE_PRECISION 27 bool "Use single-precision floats." 28 default n 29 help 30 Enabling this option will cause all zsl functions to use single 31 precision (32-bit) floating point values, rather than the default of 32 double-precision (64-bits). 33 34config ZSL_PLATFORM_OPT 35 int "Platform optimisations" 36 default 0 37 range 0 2 38 help 39 Platform used for optimised assembly functions where possible. 40 0 None 41 1 ARM Thumb (GNU) 42 2 ARM Thumb2 (GNU) 43 44config ZSL_VECTOR_INLINE 45 bool "Use inline vector functions." 46 default n 47 help 48 Enabling this option will cause common vector functions to use inline 49 versions, avoiding the overhead of function calls at the expense of 50 a larger firmware image. 51 52config ZSL_MATRIX_INLINE 53 bool "Use inline matrix functions." 54 default n 55 help 56 Enabling this option will cause common matrix functions to use inline 57 versions, avoiding the overhead of function calls at the expense of 58 a larger firmware image. 59 60config ZSL_BOUNDS_CHECKS 61 bool "Enable bounds checking in functions." 62 default y 63 help 64 Enabling this option will cause common functions to ensure that requested 65 data is within the bounds of the vector, matrix, etc. object. This should 66 generally always be enabled for safety reasons, but you may wish to 67 disable it in exceptional circumstances for performance reasons. 68 69 Note that the performance gains from enabling inline functions will 70 generally be greater than the benefit of disabling bounds checks, and 71 with far less risk associated with the decision. 72 73 EXTREME CARE should be taken when disabling this option since it can 74 easily lead to stack corruption and critical firmware failures. This 75 should only be disabled as a final option, and only on known-good 76 and thoroughly tested code. 77 78config ZSL_SHELL 79 bool "Enable the 'zsl' shell command and core shell support" 80 default n 81 depends on SHELL 82 help 83 Enabling this option will make the 'zsl' shell command available, and 84 enable general zscilib shell support. 85 86config ZSL_SHELL_CLR 87 bool "Enable the 'color' shell command" 88 default n 89 depends on ZSL_SHELL 90 help 91 Enabling this option will make the 'color' shell command available. 92 93config ZSL_SHELL_ORIENT 94 bool "Enable the 'orient' shell command" 95 default n 96 depends on ZSL_SHELL 97 help 98 Enabling this option will make the 'orient' shell command available. 99 100config ZSL_CLR_RGBF_BOUND_CAP 101 bool "Limit RGB float values to the 0.0..1.0 range" 102 default y 103 104endif 105