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 |
|
} |