Test now runs generated code, swtiched math test to use polyorphism from cpp.

Now need to make that array test...
This commit is contained in:
2023-04-02 12:25:08 -04:00
parent 5e26d53a12
commit 340f466f24
7 changed files with 39 additions and 41 deletions

View File

@ -1,24 +1,24 @@
inline
u8 square_u8(u8 value)
u8 square(u8 value)
{
return value * value
return value * value;
}
inline
u16 square_u16(u16 value)
u16 square(u16 value)
{
return value * value
return value * value;
}
inline
u32 square_u32(u32 value)
u32 square(u32 value)
{
return value * value
return value * value;
}
inline
u64 square_u64(u64 value)
u64 square(u64 value)
{
return value * value
return value * value;
}

View File

@ -1,6 +1,5 @@
#pragma once
#define gen_time
#include "Bloat.hpp"
#include "gen.hpp"
@ -23,10 +22,10 @@
{
Code integral_type = make_type( type );
string name = string_sprintf( g_allocator, (char*)sprintf_buf, ZPL_PRINTF_MAXLEN, "square_%s", type );
string name = string_sprintf( g_allocator, (char*)sprintf_buf, ZPL_PRINTF_MAXLEN, "square", type );
Code specifiers = make_specifiers( 1, Specifier::Inline );
Code params = make_parameters( 1, "value", integral_type );
Code ret_stmt = make_fmt( "\treturn value * value" );
Code ret_stmt = make_fmt( "\treturn value * value;" );
Code result = make_function( name,
specifiers,
@ -64,11 +63,4 @@
#include "math.gen.hpp"
#undef square
#define sym_square( Type_, Value_ ) square_#Type_( Value_ )
template<class type>
type square( type value )
[
sym_square( type, value );
]
#endif

View File

@ -4,14 +4,15 @@ project( 'test', 'c', 'cpp', default_options : ['buildtype=debug'] )
includes = include_directories(
[
'../project'
, '../thirdparty'
'./gen',
'../project',
'../thirdparty'
])
# get_sources = files('./get_sources.ps1')
# sources = files(run_command('powershell', get_sources, check: true).stdout().strip().split('\n'))
sources = [ 'math.hpp' ]
sources = [ 'test.cpp' ]
if get_option('buildtype').startswith('debug')
@ -19,4 +20,4 @@ if get_option('buildtype').startswith('debug')
endif
executable( '', sources, include_directories : includes )
executable( 'testcpp', sources, include_directories : includes )

View File

@ -25,7 +25,7 @@ int gen_main()
int main()
{
u32 result = square(5);
u32 result = square( 5U );
zpl_printf("TEST RESULT: %d", result);
}