Fix typos with codespell

Using codespell 1.17.1.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
This commit is contained in:
Rémi Verschelde 2020-09-18 13:35:51 +02:00
parent b1b56fd045
commit 3e78963bb9
No known key found for this signature in database
GPG Key ID: C3336907360768E1
23 changed files with 36 additions and 37 deletions

View File

@ -232,7 +232,7 @@ void register_core_types() {
} }
void register_core_settings() { void register_core_settings() {
//since in register core types, globals may not e present // Since in register core types, globals may not be present.
GLOBAL_DEF("network/limits/tcp/connect_timeout_seconds", (30)); GLOBAL_DEF("network/limits/tcp/connect_timeout_seconds", (30));
ProjectSettings::get_singleton()->set_custom_property_info("network/limits/tcp/connect_timeout_seconds", PropertyInfo(Variant::INT, "network/limits/tcp/connect_timeout_seconds", PROPERTY_HINT_RANGE, "1,1800,1")); ProjectSettings::get_singleton()->set_custom_property_info("network/limits/tcp/connect_timeout_seconds", PropertyInfo(Variant::INT, "network/limits/tcp/connect_timeout_seconds", PROPERTY_HINT_RANGE, "1,1800,1"));
GLOBAL_DEF_RST("network/limits/packet_peer_stream/max_buffer_po2", (16)); GLOBAL_DEF_RST("network/limits/packet_peer_stream/max_buffer_po2", (16));

View File

@ -42,7 +42,7 @@ class TranslationPO : public Translation {
// TLDR: Maps context to a list of source strings and translated strings. In PO terms, maps msgctxt to a list of msgid and msgstr. // TLDR: Maps context to a list of source strings and translated strings. In PO terms, maps msgctxt to a list of msgid and msgstr.
// The first key corresponds to context, and the second key (of the contained HashMap) corresponds to source string. // The first key corresponds to context, and the second key (of the contained HashMap) corresponds to source string.
// The value Vector<StringName> in the second map stores the translated strings. Index 0, 1, 2 matches msgstr[0], msgstr[1], msgstr[2]... in the case of plurals. // The value Vector<StringName> in the second map stores the translated strings. Index 0, 1, 2 matches msgstr[0], msgstr[1], msgstr[2]... in the case of plurals.
// Otherwise index 0 mathes to msgstr in a singular translation. // Otherwise index 0 matches to msgstr in a singular translation.
// Strings without context have "" as first key. // Strings without context have "" as first key.
HashMap<StringName, HashMap<StringName, Vector<StringName>>> translation_map; HashMap<StringName, HashMap<StringName, Vector<StringName>>> translation_map;

View File

@ -146,7 +146,7 @@
<members> <members>
<member name="accept_gzip" type="bool" setter="set_accept_gzip" getter="is_accepting_gzip" default="true"> <member name="accept_gzip" type="bool" setter="set_accept_gzip" getter="is_accepting_gzip" default="true">
If [code]true[/code], this header will be added to each request: [code]Accept-Encoding: gzip, deflate[/code] telling servers that it's okay to compress response bodies. If [code]true[/code], this header will be added to each request: [code]Accept-Encoding: gzip, deflate[/code] telling servers that it's okay to compress response bodies.
Any Reponse body declaring a [code]Content-Encoding[/code] of either [code]gzip[/code] or [code]deflate[/code] will then be automatically decompressed, and the uncompressed bytes will be delivered via [code]request_completed[/code]. Any Response body declaring a [code]Content-Encoding[/code] of either [code]gzip[/code] or [code]deflate[/code] will then be automatically decompressed, and the uncompressed bytes will be delivered via [code]request_completed[/code].
If the user has specified their own [code]Accept-Encoding[/code] header, then no header will be added regaurdless of [code]accept_gzip[/code]. If the user has specified their own [code]Accept-Encoding[/code] header, then no header will be added regaurdless of [code]accept_gzip[/code].
If [code]false[/code] no header will be added, and no decompression will be performed on response bodies. The raw bytes of the response body will be returned via [code]request_completed[/code]. If [code]false[/code] no header will be added, and no decompression will be performed on response bodies. The raw bytes of the response body will be returned via [code]request_completed[/code].
</member> </member>

View File

@ -66,9 +66,8 @@
</argument> </argument>
<description> <description>
Returns a new [PackedByteArray] with the data decompressed. Set the compression mode using one of [enum File.CompressionMode]'s constants. [b]This method only accepts gzip and deflate compression modes.[/b] Returns a new [PackedByteArray] with the data decompressed. Set the compression mode using one of [enum File.CompressionMode]'s constants. [b]This method only accepts gzip and deflate compression modes.[/b]
This method is potentially slower than [code]decompress[/code], as it may have to re-allocate it's output buffer multiple times while decompressing, where as [code]decompress[/code] knows it's output buffer size from the begining. This method is potentially slower than [code]decompress[/code], as it may have to re-allocate it's output buffer multiple times while decompressing, where as [code]decompress[/code] knows it's output buffer size from the beginning.
GZIP has a maximal compression ratio of 1032:1, meaning it's very possible for a small compressed payload to decompress to a potentially very large output. To guard against this, you may provide a maximum size this function is allowed to allocate in bytes via [code]max_output_size[/code]. Passing -1 will allow for unbounded output. If any positive value is passed, and the decompression exceeds that amount in bytes, then an error will be returned.
GZIP has a maximal compression ratio of 1032:1, meaning it's very possible for a small compressed payload to decompress to a potentially very large output. To guard against this, you may provide a maximum size this function is allowed to allocate in bytes via [code]max_output_size[/code]. Passing -1 will allow for unbounded output. If any positive value is passed, and the decompression exceeds that ammount in bytes, then an error will be returned.
</description> </description>
</method> </method>
<method name="empty"> <method name="empty">
@ -89,21 +88,21 @@
<return type="String"> <return type="String">
</return> </return>
<description> <description>
Converts UTF-16 encoded array to [String]. If the BOM is missing, system endianness is assumed. Returns empty string if source array is not vaild UTF-16 string. Converts UTF-16 encoded array to [String]. If the BOM is missing, system endianness is assumed. Returns empty string if source array is not valid UTF-16 string.
</description> </description>
</method> </method>
<method name="get_string_from_utf32"> <method name="get_string_from_utf32">
<return type="String"> <return type="String">
</return> </return>
<description> <description>
Converts UTF-32 encoded array to [String]. System endianness is assumed. Returns empty string if source array is not vaild UTF-32 string. Converts UTF-32 encoded array to [String]. System endianness is assumed. Returns empty string if source array is not valid UTF-32 string.
</description> </description>
</method> </method>
<method name="get_string_from_utf8"> <method name="get_string_from_utf8">
<return type="String"> <return type="String">
</return> </return>
<description> <description>
Converts UTF-8 encoded array to [String]. Slower than [method get_string_from_ascii] but supports UTF-8 encoded data. Use this function if you are unsure about the source of the data. For user input this function should always be preferred. Returns empty string if source array is not vaild UTF-8 string. Converts UTF-8 encoded array to [String]. Slower than [method get_string_from_ascii] but supports UTF-8 encoded data. Use this function if you are unsure about the source of the data. For user input this function should always be preferred. Returns empty string if source array is not valid UTF-8 string.
</description> </description>
</method> </method>
<method name="has"> <method name="has">

View File

@ -41208,7 +41208,7 @@ msgid ""
"result, it should not be depended upon for reproducible random streams " "result, it should not be depended upon for reproducible random streams "
"across Godot versions.\n" "across Godot versions.\n"
"To generate a random float number (within a given range) based on a time-" "To generate a random float number (within a given range) based on a time-"
"dependant seed:\n" "dependent seed:\n"
"[codeblock]\n" "[codeblock]\n"
"var rng = RandomNumberGenerator.new()\n" "var rng = RandomNumberGenerator.new()\n"
"func _ready():\n" "func _ready():\n"

View File

@ -1286,7 +1286,7 @@ void GDScriptAnalyzer::resolve_parameter(GDScriptParser::ParameterNode *p_parame
if (p_parameter->default_value != nullptr) { if (p_parameter->default_value != nullptr) {
if (!is_type_compatible(result, p_parameter->default_value->get_datatype())) { if (!is_type_compatible(result, p_parameter->default_value->get_datatype())) {
push_error(vformat(R"(Type of default value for parameter "%s" (%s) is not compatible with paremeter type (%s).)", p_parameter->identifier->name, p_parameter->default_value->get_datatype().to_string(), p_parameter->datatype_specifier->get_datatype().to_string()), p_parameter->default_value); push_error(vformat(R"(Type of default value for parameter "%s" (%s) is not compatible with parameter type (%s).)", p_parameter->identifier->name, p_parameter->default_value->get_datatype().to_string(), p_parameter->datatype_specifier->get_datatype().to_string()), p_parameter->default_value);
} else if (p_parameter->default_value->get_datatype().is_variant()) { } else if (p_parameter->default_value->get_datatype().is_variant()) {
mark_node_unsafe(p_parameter); mark_node_unsafe(p_parameter);
} }

View File

@ -1042,7 +1042,7 @@ GDScriptParser::EnumNode *GDScriptParser::parse_enum() {
if (check(GDScriptTokenizer::Token::BRACE_CLOSE)) { if (check(GDScriptTokenizer::Token::BRACE_CLOSE)) {
break; // Allow trailing comma. break; // Allow trailing comma.
} }
if (consume(GDScriptTokenizer::Token::IDENTIFIER, R"(Expected identifer for enum key.)")) { if (consume(GDScriptTokenizer::Token::IDENTIFIER, R"(Expected identifier for enum key.)")) {
EnumNode::Value item; EnumNode::Value item;
item.identifier = parse_identifier(); item.identifier = parse_identifier();
item.parent_enum = enum_node; item.parent_enum = enum_node;
@ -2516,7 +2516,7 @@ GDScriptParser::ExpressionNode *GDScriptParser::parse_call(ExpressionNode *p_pre
GDScriptParser::ExpressionNode *GDScriptParser::parse_get_node(ExpressionNode *p_previous_operand, bool p_can_assign) { GDScriptParser::ExpressionNode *GDScriptParser::parse_get_node(ExpressionNode *p_previous_operand, bool p_can_assign) {
if (match(GDScriptTokenizer::Token::LITERAL)) { if (match(GDScriptTokenizer::Token::LITERAL)) {
if (previous.literal.get_type() != Variant::STRING) { if (previous.literal.get_type() != Variant::STRING) {
push_error(R"(Expect node path as string or identifer after "$".)"); push_error(R"(Expect node path as string or identifier after "$".)");
return nullptr; return nullptr;
} }
GetNodeNode *get_node = alloc_node<GetNodeNode>(); GetNodeNode *get_node = alloc_node<GetNodeNode>();
@ -2539,7 +2539,7 @@ GDScriptParser::ExpressionNode *GDScriptParser::parse_get_node(ExpressionNode *p
} while (match(GDScriptTokenizer::Token::SLASH)); } while (match(GDScriptTokenizer::Token::SLASH));
return get_node; return get_node;
} else { } else {
push_error(R"(Expect node path as string or identifer after "$".)"); push_error(R"(Expect node path as string or identifier after "$".)");
return nullptr; return nullptr;
} }
} }

View File

@ -578,7 +578,7 @@ GDScriptTokenizer::Token GDScriptTokenizer::potential_identifier() {
} }
void GDScriptTokenizer::newline(bool p_make_token) { void GDScriptTokenizer::newline(bool p_make_token) {
// Don't overwrite previous newline, nor create if we want a line contination. // Don't overwrite previous newline, nor create if we want a line continuation.
if (p_make_token && !pending_newline && !line_continuation) { if (p_make_token && !pending_newline && !line_continuation) {
Token newline(Token::NEWLINE); Token newline(Token::NEWLINE);
newline.start_line = line; newline.start_line = line;

View File

@ -88,7 +88,7 @@
<PropertyGroup> <PropertyGroup>
<!-- ExportDebug also defines DEBUG like Debug does. --> <!-- ExportDebug also defines DEBUG like Debug does. -->
<DefineConstants Condition=" '$(Configuration)' == 'ExportDebug' ">$(DefineConstants);DEBUG</DefineConstants> <DefineConstants Condition=" '$(Configuration)' == 'ExportDebug' ">$(DefineConstants);DEBUG</DefineConstants>
<!-- Debug defines TOOLS to differenciate between Debug and ExportDebug configurations. --> <!-- Debug defines TOOLS to differentiate between Debug and ExportDebug configurations. -->
<DefineConstants Condition=" '$(Configuration)' == 'Debug' ">$(DefineConstants);TOOLS</DefineConstants> <DefineConstants Condition=" '$(Configuration)' == 'Debug' ">$(DefineConstants);TOOLS</DefineConstants>
<DefineConstants>$(GodotDefineConstants);$(DefineConstants)</DefineConstants> <DefineConstants>$(GodotDefineConstants);$(DefineConstants)</DefineConstants>

View File

@ -328,7 +328,7 @@ MONO_AOT_MODE_LAST = 1000,
if (lipoExitCode != 0) if (lipoExitCode != 0)
throw new Exception($"Command 'lipo' exited with code: {lipoExitCode}"); throw new Exception($"Command 'lipo' exited with code: {lipoExitCode}");
// TODO: Add the AOT lib and interpreter libs as device only to supress warnings when targeting the simulator // TODO: Add the AOT lib and interpreter libs as device only to suppress warnings when targeting the simulator
// Add the fat AOT static library to the Xcode project // Add the fat AOT static library to the Xcode project
exporter.AddIosProjectStaticLib(fatOutputFilePath); exporter.AddIosProjectStaticLib(fatOutputFilePath);

View File

@ -32,7 +32,7 @@
// emulating UIScrollView's UIScrollViewDelayedTouchesBeganGestureRecognizer. // emulating UIScrollView's UIScrollViewDelayedTouchesBeganGestureRecognizer.
// It catches all gestures incoming to UIView and delays them for 150ms // It catches all gestures incoming to UIView and delays them for 150ms
// (the same value used by UIScrollViewDelayedTouchesBeganGestureRecognizer) // (the same value used by UIScrollViewDelayedTouchesBeganGestureRecognizer)
// If touch cancelation or end message is fired it fires delayed // If touch cancellation or end message is fired it fires delayed
// begin touch immediately as well as last touch signal // begin touch immediately as well as last touch signal
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>

View File

@ -66,5 +66,5 @@ env.Zip(
zip_files, zip_files,
ZIPROOT=zip_dir, ZIPROOT=zip_dir,
ZIPSUFFIX="${PROGSUFFIX}${ZIPSUFFIX}", ZIPSUFFIX="${PROGSUFFIX}${ZIPSUFFIX}",
ZIPCOMSTR="Archving $SOURCES as $TARGET", ZIPCOMSTR="Archiving $SOURCES as $TARGET",
) )

View File

@ -439,7 +439,7 @@ def configure_mingw(env):
else: else:
env.Append(LIBS=["cfgmgr32"]) env.Append(LIBS=["cfgmgr32"])
## TODO !!! Reenable when OpenGLES Rendering Device is implemented !!! ## TODO !!! Re-enable when OpenGLES Rendering Device is implemented !!!
# env.Append(CPPDEFINES=['OPENGL_ENABLED']) # env.Append(CPPDEFINES=['OPENGL_ENABLED'])
env.Append(LIBS=["opengl32"]) env.Append(LIBS=["opengl32"])

View File

@ -848,7 +848,7 @@ Error SceneState::pack(Node *p_scene) {
Map<Node *, int> node_map; Map<Node *, int> node_map;
Map<Node *, int> nodepath_map; Map<Node *, int> nodepath_map;
//if using scene inheritance, pack the scene it inherits from // If using scene inheritance, pack the scene it inherits from.
if (scene->get_scene_inherited_state().is_valid()) { if (scene->get_scene_inherited_state().is_valid()) {
String path = scene->get_scene_inherited_state()->get_path(); String path = scene->get_scene_inherited_state()->get_path();
Ref<PackedScene> instance = ResourceLoader::load(path); Ref<PackedScene> instance = ResourceLoader::load(path);
@ -856,8 +856,8 @@ Error SceneState::pack(Node *p_scene) {
base_scene_idx = _vm_get_variant(instance, variant_map); base_scene_idx = _vm_get_variant(instance, variant_map);
} }
} }
//instanced, only direct sub-scnes are supported of course
// Instanced, only direct sub-scenes are supported of course.
Error err = _parse_node(scene, scene, -1, name_map, variant_map, node_map, nodepath_map); Error err = _parse_node(scene, scene, -1, name_map, variant_map, node_map, nodepath_map);
if (err) { if (err) {
clear(); clear();

View File

@ -101,7 +101,7 @@ void main() {
offset += 1; offset += 1;
} else { } else {
instance_color = vec4(texelFetch(instancing_buffer, offset + 0), texelFetch(instancing_buffer, offset + 1), texelFetch(instancing_buffer, offset + 2), texelFetch(instancing_buffer, offset + 3)); instance_color = vec4(texelFetch(instancing_buffer, offset + 0), texelFetch(instancing_buffer, offset + 1), texelFetch(instancing_buffer, offset + 2), texelFetch(instancing_buffer, offset + 3));
offser += 4; offset += 4;
} }
color *= instance_color; color *= instance_color;

View File

@ -147,7 +147,7 @@ bool emit_particle(mat4 p_xform, vec3 p_velocity, vec4 p_color, vec4 p_custom, u
while(attempts-- > 0) { while(attempts-- > 0) {
dst_index = dst_particles.particle_count; dst_index = dst_particles.particle_count;
if (dst_index == dst_particles.particle_max) { if (dst_index == dst_particles.particle_max) {
return false; //cant emit anymore return false; //can't emit anymore
} }
if (atomicCompSwap(dst_particles.particle_count, dst_index, dst_index +1 ) != dst_index) { if (atomicCompSwap(dst_particles.particle_count, dst_index, dst_index +1 ) != dst_index) {

View File

@ -681,7 +681,7 @@ LIGHT_SHADER_CODE
#ifndef USE_NO_SHADOWS #ifndef USE_NO_SHADOWS
// Produces cheap white noise, optmized for window-space // Produces cheap white noise, optimized for window-space
// Comes from: https://www.shadertoy.com/view/4djSRW // Comes from: https://www.shadertoy.com/view/4djSRW
// Copyright: Dave Hoskins, MIT License // Copyright: Dave Hoskins, MIT License
float quick_hash(vec2 pos) { float quick_hash(vec2 pos) {

View File

@ -252,7 +252,7 @@ layout(set = 1, binding = 0) uniform textureCube radiance_cubemap;
#endif #endif
/* Set 2, Reflection and Shadow Atlases (view dependant) */ /* Set 2, Reflection and Shadow Atlases (view dependent) */
layout(set = 2, binding = 0) uniform textureCubeArray reflection_atlas; layout(set = 2, binding = 0) uniform textureCubeArray reflection_atlas;

View File

@ -22,7 +22,7 @@ dispatch_data;
struct ProcessVoxel { struct ProcessVoxel {
uint position; //xyz 7 bit packed, extra 11 bits for neigbours uint position; //xyz 7 bit packed, extra 11 bits for neigbours
uint albedo; //rgb bits 0-15 albedo, bits 16-21 are normal bits (set if geometry exists toward that side), extra 11 bits for neibhbours uint albedo; //rgb bits 0-15 albedo, bits 16-21 are normal bits (set if geometry exists toward that side), extra 11 bits for neibhbours
uint light; //rgbe8985 encoded total saved light, extra 2 bits for neighbous uint light; //rgbe8985 encoded total saved light, extra 2 bits for neighbours
uint light_aniso; //55555 light anisotropy, extra 2 bits for neighbours uint light_aniso; //55555 light anisotropy, extra 2 bits for neighbours
//total neighbours: 26 //total neighbours: 26
}; };

View File

@ -336,7 +336,7 @@ void main() {
#ifdef MODE_STORE #ifdef MODE_STORE
// converting to octahedral in this step is requiered because // converting to octahedral in this step is required because
// octahedral is much faster to read from the screen than spherical harmonics, // octahedral is much faster to read from the screen than spherical harmonics,
// despite the very slight quality loss // despite the very slight quality loss
@ -512,7 +512,7 @@ void main() {
imageStore(lightprobe_average_scroll_texture, dst_pos, value); imageStore(lightprobe_average_scroll_texture, dst_pos, value);
} }
} else if (params.cascade < params.max_cascades - 1) { } else if (params.cascade < params.max_cascades - 1) {
//cant scroll, must look for position in parent cascade //can't scroll, must look for position in parent cascade
//to global coords //to global coords
float probe_cell_size = float(params.grid_size.x / float(params.probe_axis_size - 1)) / cascades.data[params.cascade].to_cell; float probe_cell_size = float(params.grid_size.x / float(params.probe_axis_size - 1)) / cascades.data[params.cascade].to_cell;

View File

@ -103,7 +103,7 @@ dispatch_data;
struct ProcessVoxel { struct ProcessVoxel {
uint position; //xyz 7 bit packed, extra 11 bits for neigbours uint position; //xyz 7 bit packed, extra 11 bits for neigbours
uint albedo; //rgb bits 0-15 albedo, bits 16-21 are normal bits (set if geometry exists toward that side), extra 11 bits for neibhbours uint albedo; //rgb bits 0-15 albedo, bits 16-21 are normal bits (set if geometry exists toward that side), extra 11 bits for neibhbours
uint light; //rgbe8985 encoded total saved light, extra 2 bits for neighbous uint light; //rgbe8985 encoded total saved light, extra 2 bits for neighbours
uint light_aniso; //55555 light anisotropy, extra 2 bits for neighbours uint light_aniso; //55555 light anisotropy, extra 2 bits for neighbours
//total neighbours: 26 //total neighbours: 26
}; };
@ -136,7 +136,7 @@ dispatch_data;
struct ProcessVoxel { struct ProcessVoxel {
uint position; //xyz 7 bit packed, extra 11 bits for neigbours uint position; //xyz 7 bit packed, extra 11 bits for neigbours
uint albedo; //rgb bits 0-15 albedo, bits 16-21 are normal bits (set if geometry exists toward that side), extra 11 bits for neibhbours uint albedo; //rgb bits 0-15 albedo, bits 16-21 are normal bits (set if geometry exists toward that side), extra 11 bits for neibhbours
uint light; //rgbe8985 encoded total saved light, extra 2 bits for neighbous uint light; //rgbe8985 encoded total saved light, extra 2 bits for neighbours
uint light_aniso; //55555 light anisotropy, extra 2 bits for neighbours uint light_aniso; //55555 light anisotropy, extra 2 bits for neighbours
//total neighbours: 26 //total neighbours: 26
}; };
@ -274,7 +274,7 @@ void main() {
#ifdef MODE_JUMPFLOOD #ifdef MODE_JUMPFLOOD
//regular jumpflood, efficent for large steps, inefficient for small steps //regular jumpflood, efficient for large steps, inefficient for small steps
ivec3 pos = ivec3(gl_GlobalInvocationID.xyz); ivec3 pos = ivec3(gl_GlobalInvocationID.xyz);
vec3 posf = vec3(pos); vec3 posf = vec3(pos);

View File

@ -485,7 +485,7 @@ void main() {
//get depth at cell pos //get depth at cell pos
float z = get_depth_at_pos(fog_cell_size.z, i); float z = get_depth_at_pos(fog_cell_size.z, i);
//get distance from previos pos //get distance from previous pos
float d = abs(prev_z - z); float d = abs(prev_z - z);
//compute exinction based on beer's //compute exinction based on beer's
float extinction = t * exp(-d * fog.a); float extinction = t * exp(-d * fog.a);

View File

@ -66,7 +66,7 @@ TEST_CASE("[Expression] Integer arithmetic") {
"Integer / integer division should parse successfully."); "Integer / integer division should parse successfully.");
CHECK_MESSAGE( CHECK_MESSAGE(
int(expression.execute()) == 2, int(expression.execute()) == 2,
"Integer / integer divsion should return the expected result."); "Integer / integer division should return the expected result.");
CHECK_MESSAGE( CHECK_MESSAGE(
expression.parse("2 * (6 + 14) / 2 - 5") == OK, expression.parse("2 * (6 + 14) / 2 - 5") == OK,
@ -98,21 +98,21 @@ TEST_CASE("[Expression] Floating-point arithmetic") {
"Float / integer division should parse successfully."); "Float / integer division should parse successfully.");
CHECK_MESSAGE( CHECK_MESSAGE(
Math::is_equal_approx(float(expression.execute()), 0.3), Math::is_equal_approx(float(expression.execute()), 0.3),
"Float / integer divsion should return the expected result."); "Float / integer division should return the expected result.");
CHECK_MESSAGE( CHECK_MESSAGE(
expression.parse("3 / 10.0") == OK, expression.parse("3 / 10.0") == OK,
"Basic integer / float division should parse successfully."); "Basic integer / float division should parse successfully.");
CHECK_MESSAGE( CHECK_MESSAGE(
Math::is_equal_approx(float(expression.execute()), 0.3), Math::is_equal_approx(float(expression.execute()), 0.3),
"Basic integer / float divsion should return the expected result."); "Basic integer / float division should return the expected result.");
CHECK_MESSAGE( CHECK_MESSAGE(
expression.parse("3.0 / 10.0") == OK, expression.parse("3.0 / 10.0") == OK,
"Float / float division should parse successfully."); "Float / float division should parse successfully.");
CHECK_MESSAGE( CHECK_MESSAGE(
Math::is_equal_approx(float(expression.execute()), 0.3), Math::is_equal_approx(float(expression.execute()), 0.3),
"Float / float divsion should return the expected result."); "Float / float division should return the expected result.");
CHECK_MESSAGE( CHECK_MESSAGE(
expression.parse("2.5 * (6.0 + 14.25) / 2.0 - 5.12345") == OK, expression.parse("2.5 * (6.0 + 14.25) / 2.0 - 5.12345") == OK,