Fix code generation analyzis for list
Add dual push list
This commit is contained in:
1 parent
7637c2fb58
commit
db63b0d515
1 file changed
+23
-4
+23
-4
@@ -24,7 +24,8 @@
|
|||||||
#include "m-list.h"
|
#include "m-list.h"
|
||||||
#include "m-i-list.h"
|
#include "m-i-list.h"
|
||||||
|
|
||||||
LIST_DEF(dbl, double)
|
LIST_DEF(list_dbl, double)
|
||||||
|
LIST_DUAL_PUSH_DEF(list_dbl2, double)
|
||||||
|
|
||||||
void f_push_back(list_dbl_t list);
|
void f_push_back(list_dbl_t list);
|
||||||
double f_iterator(list_dbl_t list);
|
double f_iterator(list_dbl_t list);
|
||||||
@@ -36,19 +37,37 @@ void f_push_back(list_dbl_t list)
|
|||||||
|
|
||||||
double f_iterator(list_dbl_t list)
|
double f_iterator(list_dbl_t list)
|
||||||
{
|
{
|
||||||
list_it_dbl_t it;
|
list_dbl_it_t it;
|
||||||
double s = 0.0;
|
double s = 0.0;
|
||||||
for(list_dbl_it(it, list); !list_dbl_end_p(it); list_dbl_next(it))
|
for(list_dbl_it(it, list); !list_dbl_end_p(it); list_dbl_next(it))
|
||||||
s += *list_dbl_cref(it);
|
s += *list_dbl_cref(it);
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void f2_push_back(list_dbl2_t list);
|
||||||
|
double f2_iterator(list_dbl2_t list);
|
||||||
|
|
||||||
|
void f2_push_back(list_dbl2_t list)
|
||||||
|
{
|
||||||
|
list_dbl2_push_back(list, 2.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
double f2_iterator(list_dbl2_t list)
|
||||||
|
{
|
||||||
|
list_dbl2_it_t it;
|
||||||
|
double s = 0.0;
|
||||||
|
for(list_dbl2_it(it, list); !list_dbl2_end_p(it); list_dbl2_next(it))
|
||||||
|
s += *list_dbl2_cref(it);
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct itest {
|
struct itest {
|
||||||
int n;
|
int n;
|
||||||
ILIST_INTERFACE (list, struct itest);
|
ILIST_INTERFACE (ilist_list, struct itest);
|
||||||
};
|
};
|
||||||
|
|
||||||
ILIST_DEF(list, struct itest)
|
ILIST_DEF(ilist_list, struct itest)
|
||||||
|
|
||||||
extern void f_init(ilist_list_t l);
|
extern void f_init(ilist_list_t l);
|
||||||
void f_init(ilist_list_t l)
|
void f_init(ilist_list_t l)
|
||||||
|
|||||||
Reference in new issue
Block a user