| 1782 |
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\n\ |
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\n\ |
| 1783 |
POSSIBILITY OF SUCH DAMAGES.\n"); |
POSSIBILITY OF SUCH DAMAGES.\n"); |
| 1784 |
} |
} |
| 1785 |
|
|
| 1786 |
|
/* "*" */ |
| 1787 |
|
extern void sx_2a(environment *env) |
| 1788 |
|
{ |
| 1789 |
|
int a, b; |
| 1790 |
|
|
| 1791 |
|
if((env->head)==NULL || env->head->next==NULL) { |
| 1792 |
|
printerr("Too Few Arguments"); |
| 1793 |
|
env->err=1; |
| 1794 |
|
return; |
| 1795 |
|
} |
| 1796 |
|
|
| 1797 |
|
if(env->head->item->type!=integer |
| 1798 |
|
|| env->head->next->item->type!=integer) { |
| 1799 |
|
printerr("Bad Argument Type"); |
| 1800 |
|
env->err=2; |
| 1801 |
|
return; |
| 1802 |
|
} |
| 1803 |
|
|
| 1804 |
|
a=env->head->item->content.val; |
| 1805 |
|
toss(env); if(env->err) return; |
| 1806 |
|
b=env->head->item->content.val; |
| 1807 |
|
toss(env); if(env->err) return; |
| 1808 |
|
push_int(env, b*a); |
| 1809 |
|
} |
| 1810 |
|
|
| 1811 |
|
/* "/" */ |
| 1812 |
|
extern void sx_2f(environment *env) |
| 1813 |
|
{ |
| 1814 |
|
int a, b; |
| 1815 |
|
|
| 1816 |
|
if((env->head)==NULL || env->head->next==NULL) { |
| 1817 |
|
printerr("Too Few Arguments"); |
| 1818 |
|
env->err=1; |
| 1819 |
|
return; |
| 1820 |
|
} |
| 1821 |
|
|
| 1822 |
|
if(env->head->item->type!=integer |
| 1823 |
|
|| env->head->next->item->type!=integer) { |
| 1824 |
|
printerr("Bad Argument Type"); |
| 1825 |
|
env->err=2; |
| 1826 |
|
return; |
| 1827 |
|
} |
| 1828 |
|
|
| 1829 |
|
a=env->head->item->content.val; |
| 1830 |
|
toss(env); if(env->err) return; |
| 1831 |
|
b=env->head->item->content.val; |
| 1832 |
|
toss(env); if(env->err) return; |
| 1833 |
|
push_int(env, b/a); |
| 1834 |
|
} |
| 1835 |
|
|
| 1836 |
|
/* "mod" */ |
| 1837 |
|
extern void mod(environment *env) |
| 1838 |
|
{ |
| 1839 |
|
int a, b; |
| 1840 |
|
|
| 1841 |
|
if((env->head)==NULL || env->head->next==NULL) { |
| 1842 |
|
printerr("Too Few Arguments"); |
| 1843 |
|
env->err=1; |
| 1844 |
|
return; |
| 1845 |
|
} |
| 1846 |
|
|
| 1847 |
|
if(env->head->item->type!=integer |
| 1848 |
|
|| env->head->next->item->type!=integer) { |
| 1849 |
|
printerr("Bad Argument Type"); |
| 1850 |
|
env->err=2; |
| 1851 |
|
return; |
| 1852 |
|
} |
| 1853 |
|
|
| 1854 |
|
a=env->head->item->content.val; |
| 1855 |
|
toss(env); if(env->err) return; |
| 1856 |
|
b=env->head->item->content.val; |
| 1857 |
|
toss(env); if(env->err) return; |
| 1858 |
|
push_int(env, b%a); |
| 1859 |
|
} |