Bilinear interpolation: Difference between revisions

Using Real Math module
(Added solution for Action!)
(Using Real Math module)
Line 11:
{{libheader|Action! Bitmap tools}}
{{libheader|Action! Tool Kit}}
{{libheader|Action! Real Math}}
<lang Action!>INCLUDE "H6:LOADPPM5REALMATH.ACT"
 
INCLUDE "H6:LOADPPM5.ACT"
REAL one,half,rzero
 
PROC PutBigPixel(INT x,y BYTE col)
Line 40:
OD
RETURN
 
INT FUNC Round(REAL POINTER r)
BYTE ARRAY x
REAL tmp
INT i
 
x=r
IF (x(0)&$80)=0 THEN
i=RealToInt(r)
ELSE
RealAssign(r,tmp)
x=tmp
x(0)==&$7F
i=-RealToInt(tmp)
FI
RETURN (i)
 
BYTE FUNC Equal(REAL POINTER a,b)
BYTE ARRAY x,y
 
x=a y=b
IF x(0)=y(0) AND x(1)=y(1) AND x(2)=y(2) THEN
RETURN (1)
FI
RETURN (0)
 
INT FUNC Floor(REAL POINTER x)
REAL tmp
 
IF Equal(x,rzero) THEN
RETURN (0)
FI
RealSub(x,half,tmp)
RETURN (Round(tmp))
 
PROC Lerp(REAL POINTER s,e,t,res)
Line 139 ⟶ 105:
 
Put(125) PutE() ;clear the screen
MathInit()
IntToReal(0,rzero)
ValR("0.5",half)
 
InitGrayImage(im30x30,30,30,data30x30)
InitGrayImage(im48x48,48,48,data48x48)
Anonymous user