old pointer deref operator completely removed
This commit is contained in:
parent
246b8d18a1
commit
a6daf71520
12 changed files with 83 additions and 20 deletions
53
tests/accept/compile/tmandelbrot.nim
Normal file
53
tests/accept/compile/tmandelbrot.nim
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# -*- nimrod -*-
|
||||
|
||||
import math
|
||||
import os
|
||||
import strutils
|
||||
|
||||
type TComplex = tuple[re, im: float]
|
||||
|
||||
proc `+` (a, b: TComplex): TComplex =
|
||||
return (a.re + b.re, a.im + b.im)
|
||||
|
||||
proc `*` (a, b: TComplex): TComplex =
|
||||
result.re = a.re * b.re - a.im * b.im
|
||||
result.im = a.re * b.im + a.im * b.re
|
||||
|
||||
proc abs2 (a: TComplex): float =
|
||||
return a.re * a.re + a.im * a.im
|
||||
|
||||
var size = parseInt (paramStr (1))
|
||||
var bit = 128
|
||||
var byteAcc = 0
|
||||
|
||||
stdout.writeln ("P4")
|
||||
stdout.write ($size)
|
||||
stdout.write (" ")
|
||||
stdout.writeln ($size)
|
||||
|
||||
var fsize = float (size)
|
||||
for y in 0 .. size-1:
|
||||
var fy = 2.0 * float (y) / fsize - 1.0
|
||||
for x in 0 .. size-1:
|
||||
var z = (0.0, 0.0)
|
||||
var c = (float (2*x) / fsize - 1.5, fy)
|
||||
|
||||
block iter:
|
||||
for i in 0 .. 49:
|
||||
z = z*z + c
|
||||
if abs2 (z) >= 4.0:
|
||||
break iter
|
||||
byteAcc = byteAcc + bit
|
||||
|
||||
if bit > 1:
|
||||
bit = bit div 2
|
||||
else:
|
||||
stdout.write (chr (byteAcc))
|
||||
bit = 128
|
||||
byteAcc = 0
|
||||
|
||||
if bit != 128:
|
||||
stdout.write (chr (byteAcc))
|
||||
bit = 128
|
||||
byteAcc = 0
|
||||
|
||||
15
tests/accept/run/tanontuples.nim
Normal file
15
tests/accept/run/tanontuples.nim
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
discard """
|
||||
output: "61, 125"
|
||||
"""
|
||||
|
||||
proc `^` (a, b: int): int =
|
||||
result = 1
|
||||
for i in 1..b: result = result * a
|
||||
|
||||
var m = (0, 5)
|
||||
var n = (56, 3)
|
||||
|
||||
m = (n[0] + m[1], m[1] ^ n[1])
|
||||
|
||||
echo m[0], ", ", m[1]
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue